diff -r 5dec1604322c Lib/idlelib/PathBrowser.py --- a/Lib/idlelib/PathBrowser.py Wed Feb 26 18:26:49 2014 -0500 +++ b/Lib/idlelib/PathBrowser.py Thu Feb 27 14:30:27 2014 +0530 @@ -24,48 +24,48 @@ def GetSubList(self): sublist = [] - for dir in sys.path: - item = DirBrowserTreeItem(dir) + for dir_ in sys.path: + item = DirBrowserTreeItem(dir_) sublist.append(item) return sublist class DirBrowserTreeItem(TreeItem): - def __init__(self, dir, packages=[]): - self.dir = dir + def __init__(self, dir_, packages=[]): + self.dir_ = dir_ self.packages = packages def GetText(self): if not self.packages: - return self.dir + return self.dir_ else: return self.packages[-1] + ": package" def GetSubList(self): try: - names = os.listdir(self.dir or os.curdir) + names = os.listdir(self.dir_ or os.curdir) except OSError: return [] packages = [] for name in names: - file = os.path.join(self.dir, name) - if self.ispackagedir(file): + file_ = os.path.join(self.dir_, name) + if self.ispackagedir(file_): nn = os.path.normcase(name) - packages.append((nn, name, file)) + packages.append((nn, name, file_)) packages.sort() sublist = [] - for nn, name, file in packages: - item = DirBrowserTreeItem(file, self.packages + [name]) + for nn, name, file_ in packages: + item = DirBrowserTreeItem(file_, self.packages + [name]) sublist.append(item) for nn, name in self.listmodules(names): - item = ModuleBrowserTreeItem(os.path.join(self.dir, name)) + item = ModuleBrowserTreeItem(os.path.join(self.dir_, name)) sublist.append(item) return sublist - def ispackagedir(self, file): - if not os.path.isdir(file): + def ispackagedir(self, file_): + if not os.path.isdir(file_): return 0 - init = os.path.join(file, "__init__.py") + init = os.path.join(file_, "__init__.py") return os.path.exists(init) def listmodules(self, allnames): @@ -73,7 +73,7 @@ suffixes = importlib.machinery.EXTENSION_SUFFIXES[:] suffixes += importlib.machinery.SOURCE_SUFFIXES[:] suffixes += importlib.machinery.BYTECODE_SUFFIXES[:] - sorted = [] + sorted_ = [] for suff in suffixes: i = -len(suff) for name in allnames[:]: @@ -82,10 +82,10 @@ mod_name = name[:i] if mod_name not in modules: modules[mod_name] = None - sorted.append((normed_name, name)) + sorted_.append((normed_name, name)) allnames.remove(name) - sorted.sort() - return sorted + sorted_.sort() + return sorted_ def main(): from idlelib import PyShell diff -r 5dec1604322c Lib/idlelib/idle_test/test_pathbrowser.py --- a/Lib/idlelib/idle_test/test_pathbrowser.py Wed Feb 26 18:26:49 2014 -0500 +++ b/Lib/idlelib/idle_test/test_pathbrowser.py Thu Feb 27 14:30:27 2014 +0530 @@ -1,4 +1,7 @@ import unittest +import os +import sys +import idlelib import idlelib.PathBrowser as PathBrowser class PathBrowserTest(unittest.TestCase): @@ -8,5 +11,17 @@ d = PathBrowser.DirBrowserTreeItem('') d.GetSubList() + self.assertEqual('', d.GetText()) + + dir_ = os.path.split(os.path.abspath(idlelib.__file__))[0] + self.assertEqual(d.ispackagedir(dir_), True) + self.assertEqual(d.ispackagedir(dir_ + '/Icons'), 0) + + def test_PathBrowserTreeItem(self): + p = PathBrowser.PathBrowserTreeItem() + self.assertEqual(p.GetText(), 'sys.path') + self.assertEqual(len(p.GetSubList()), len(sys.path)) + + if __name__ == '__main__': unittest.main(verbosity=2, exit=False)