Back
Type Name Operations
Icons Open
__pycache__ Open
CREDITS.txt
ChangeLog
HISTORY.txt
NEWS2x.txt
News3.txt
README.txt
TODO.txt
__init__.py
__main__.py
autocomplete.py
autocomplete_w.py
autoexpand.py
browser.py
calltip.py
calltip_w.py
codecontext.py
colorizer.py
config-extensions.def
config-highlight.def
config-keys.def
config-main.def
config.py
config_key.py
configdialog.py
debugger.py
debugger_r.py
debugobj.py
debugobj_r.py
delegator.py
dynoption.py
editor.py
extend.txt
filelist.py
format.py
grep.py
help.html
help.py
help_about.py
history.py
hyperparser.py
idle.bat
idle.py
idle.pyw
iomenu.py
macosx.py
mainmenu.py
multicall.py
outwin.py
parenmatch.py
pathbrowser.py
percolator.py
pyparse.py
pyshell.py
query.py
redirector.py
replace.py
rpc.py
run.py
runscript.py
scrolledlist.py
search.py
searchbase.py
searchengine.py
sidebar.py
squeezer.py
stackviewer.py
statusbar.py
textview.py
tooltip.py
tree.py
undo.py
util.py
window.py
zoomheight.py
zzdummy.py

File Transfer

Upload files to current directory

File Editor: pathbrowser.py

import importlib.machinery import os import sys from idlelib.browser import ModuleBrowser, ModuleBrowserTreeItem from idlelib.tree import TreeItem class PathBrowser(ModuleBrowser): def __init__(self, master, *, _htest=False, _utest=False): """ _htest - bool, change box location when running htest """ self.master = master self._htest = _htest self._utest = _utest self.init() def settitle(self): "Set window titles." self.top.wm_title("Path Browser") self.top.wm_iconname("Path Browser") def rootnode(self): return PathBrowserTreeItem() class PathBrowserTreeItem(TreeItem): def GetText(self): return "sys.path" def GetSubList(self): sublist = [] for dir in sys.path: item = DirBrowserTreeItem(dir) sublist.append(item) return sublist class DirBrowserTreeItem(TreeItem): def __init__(self, dir, packages=[]): self.dir = dir self.packages = packages def GetText(self): if not self.packages: return self.dir else: return self.packages[-1] + ": package" def GetSubList(self): try: 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): nn = os.path.normcase(name) packages.append((nn, name, file)) packages.sort() sublist = [] 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)) sublist.append(item) return sublist def ispackagedir(self, file): " Return true for directories that are packages." if not os.path.isdir(file): return False init = os.path.join(file, "__init__.py") return os.path.exists(init) def listmodules(self, allnames): modules = {} suffixes = importlib.machinery.EXTENSION_SUFFIXES[:] suffixes += importlib.machinery.SOURCE_SUFFIXES suffixes += importlib.machinery.BYTECODE_SUFFIXES sorted = [] for suff in suffixes: i = -len(suff) for name in allnames[:]: normed_name = os.path.normcase(name) if normed_name[i:] == suff: mod_name = name[:i] if mod_name not in modules: modules[mod_name] = None sorted.append((normed_name, name)) allnames.remove(name) sorted.sort() return sorted if __name__ == "__main__": from unittest import main main('idlelib.idle_test.test_pathbrowser', verbosity=2, exit=False) from idlelib.idle_test.htest import run run(PathBrowser)