Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 7171df3

Browse files
author
Just van Rossum
committed
Very minor little things... -- jvr
1 parent afca415 commit 7171df3

1 file changed

Lines changed: 13 additions & 4 deletions

File tree

Mac/Tools/IDE/Wapplication.py

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -245,8 +245,13 @@ def makemenubar(self):
245245
self.menubar = MenuBar(self)
246246
FrameWork.AppleMenu(self.menubar, self.getabouttext(), self.do_about)
247247
self.makeusermenus()
248-
249-
def scriptswalk(self, top, menu):
248+
249+
def scriptswalk(self, top, menu, done=None):
250+
if done is None:
251+
done = {}
252+
if done.has_key(top):
253+
return
254+
done[top] = 1
250255
import os, macfs, string
251256
try:
252257
names = os.listdir(top)
@@ -258,19 +263,22 @@ def scriptswalk(self, top, menu):
258263
for name in names:
259264
fss, isdir, isalias = macfs.ResolveAliasFile(name)
260265
path = fss.as_pathname()
266+
if done.has_key(path):
267+
continue
261268
name = string.strip(name)
262269
if name[-3:] == '---':
263270
menu.addseparator()
264271
elif isdir:
265272
submenu = FrameWork.SubMenu(menu, name)
266-
self.scriptswalk(path, submenu)
273+
self.scriptswalk(path, submenu, done)
267274
else:
268275
creator, type = fss.GetCreatorType()
269276
if type == 'TEXT':
270277
if name[-3:] == '.py':
271278
name = name[:-3]
272279
item = FrameWork.MenuItem(menu, name, None, self.domenu_script)
273280
self._scripts[(menu.id, item.item)] = path
281+
done[path] = 1
274282
os.chdir(savedir)
275283

276284
def domenu_script(self, id, item, window, event):
@@ -352,7 +360,8 @@ def getscript(self, filename):
352360
import string
353361
lowpath = string.lower(filename)
354362
for wid, window in self._windows.items():
355-
if hasattr(window, "path") and lowpath == string.lower(window.path):
363+
if hasattr(window, "path") and type(window.path) == StringType and \
364+
lowpath == string.lower(window.path):
356365
return window
357366
elif hasattr(window, "path") and filename == wid.GetWTitle():
358367
return window

0 commit comments

Comments
 (0)