Current Path: > > opt > alt > python33 > lib64 > > python3.3 > idlelib >
Operation : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 Software : Apache Server IP : 162.0.232.56 | Your IP: 216.73.216.111 Domains : 1034 Domain(s) Permission : [ 0755 ]
Name | Type | Size | Last Modified | Actions |
---|---|---|---|---|
Icons | Directory | - | - | |
__pycache__ | Directory | - | - | |
idle_test | Directory | - | - | |
AutoComplete.py | File | 9082 bytes | April 17 2024 16:58:17. | |
AutoCompleteWindow.py | File | 17672 bytes | April 17 2024 16:58:17. | |
AutoExpand.py | File | 2483 bytes | April 17 2024 16:58:17. | |
Bindings.py | File | 3434 bytes | April 17 2024 16:58:17. | |
CREDITS.txt | File | 1865 bytes | September 19 2017 07:32:02. | |
CallTipWindow.py | File | 5899 bytes | April 17 2024 16:58:17. | |
CallTips.py | File | 5932 bytes | April 17 2024 16:58:17. | |
ChangeLog | File | 56393 bytes | September 19 2017 07:32:02. | |
ClassBrowser.py | File | 6371 bytes | April 17 2024 16:58:17. | |
CodeContext.py | File | 8353 bytes | April 17 2024 16:58:17. | |
ColorDelegator.py | File | 10467 bytes | April 17 2024 16:58:17. | |
Debugger.py | File | 16367 bytes | April 17 2024 16:58:17. | |
Delegator.py | File | 665 bytes | April 17 2024 16:58:17. | |
EditorWindow.py | File | 66307 bytes | April 17 2024 16:58:17. | |
FileList.py | File | 3814 bytes | April 17 2024 16:58:17. | |
FormatParagraph.py | File | 7166 bytes | April 17 2024 16:58:17. | |
GrepDialog.py | File | 4111 bytes | April 17 2024 16:58:17. | |
HISTORY.txt | File | 10317 bytes | September 19 2017 07:32:02. | |
HyperParser.py | File | 10562 bytes | April 17 2024 16:58:17. | |
IOBinding.py | File | 19862 bytes | April 17 2024 16:58:17. | |
IdleHistory.py | File | 4117 bytes | April 17 2024 16:58:17. | |
MultiCall.py | File | 17529 bytes | April 17 2024 16:58:17. | |
MultiStatusBar.py | File | 783 bytes | April 17 2024 16:58:17. | |
NEWS.txt | File | 34417 bytes | September 19 2017 07:32:02. | |
ObjectBrowser.py | File | 3749 bytes | April 17 2024 16:58:17. | |
OutputWindow.py | File | 4394 bytes | April 17 2024 16:58:17. | |
ParenMatch.py | File | 6627 bytes | April 17 2024 16:58:17. | |
PathBrowser.py | File | 2878 bytes | April 17 2024 16:58:17. | |
Percolator.py | File | 2658 bytes | April 17 2024 16:58:17. | |
PyParse.py | File | 19414 bytes | April 17 2024 16:58:17. | |
PyShell.py | File | 57877 bytes | April 17 2024 16:58:17. | |
README.txt | File | 2502 bytes | September 19 2017 07:32:02. | |
RemoteDebugger.py | File | 12029 bytes | April 17 2024 16:58:17. | |
RemoteObjectBrowser.py | File | 964 bytes | April 17 2024 16:58:17. | |
ReplaceDialog.py | File | 5829 bytes | April 17 2024 16:58:17. | |
RstripExtension.py | File | 1050 bytes | April 17 2024 16:58:17. | |
ScriptBinding.py | File | 8069 bytes | April 17 2024 16:58:17. | |
ScrolledList.py | File | 3997 bytes | April 17 2024 16:58:17. | |
SearchDialog.py | File | 2016 bytes | April 17 2024 16:58:17. | |
SearchDialogBase.py | File | 5185 bytes | April 17 2024 16:58:17. | |
SearchEngine.py | File | 7544 bytes | April 17 2024 16:58:17. | |
StackViewer.py | File | 3567 bytes | April 17 2024 16:58:17. | |
TODO.txt | File | 8478 bytes | September 19 2017 07:32:02. | |
ToolTip.py | File | 2736 bytes | April 17 2024 16:58:17. | |
TreeWidget.py | File | 15220 bytes | April 17 2024 16:58:17. | |
UndoDelegator.py | File | 10305 bytes | April 17 2024 16:58:17. | |
WidgetRedirector.py | File | 4477 bytes | April 17 2024 16:58:17. | |
WindowList.py | File | 2472 bytes | April 17 2024 16:58:17. | |
ZoomHeight.py | File | 1307 bytes | April 17 2024 16:58:17. | |
__init__.py | File | 37 bytes | April 17 2024 16:58:17. | |
__main__.py | File | 109 bytes | April 17 2024 16:58:17. | |
aboutDialog.py | File | 6575 bytes | April 17 2024 16:58:17. | |
config-extensions.def | File | 2788 bytes | September 19 2017 07:32:02. | |
config-highlight.def | File | 1740 bytes | September 19 2017 07:32:02. | |
config-keys.def | File | 7524 bytes | September 19 2017 07:32:02. | |
config-main.def | File | 2514 bytes | September 19 2017 07:32:02. | |
configDialog.py | File | 52850 bytes | April 17 2024 16:58:17. | |
configHandler.py | File | 29323 bytes | April 17 2024 16:58:17. | |
configHelpSourceEdit.py | File | 6725 bytes | April 17 2024 16:58:17. | |
configSectionNameDialog.py | File | 4314 bytes | April 17 2024 16:58:17. | |
dynOptionMenuWidget.py | File | 1308 bytes | April 17 2024 16:58:17. | |
extend.txt | File | 3642 bytes | September 19 2017 07:32:02. | |
help.txt | File | 11994 bytes | September 19 2017 07:32:02. | |
idle.py | File | 400 bytes | April 17 2024 16:58:17. | |
idle.pyw | File | 671 bytes | September 19 2017 07:32:02. | |
idlever.py | File | 23 bytes | April 17 2024 16:58:17. | |
keybindingDialog.py | File | 12427 bytes | April 17 2024 16:58:17. | |
macosxSupport.py | File | 7172 bytes | April 17 2024 16:58:17. | |
rpc.py | File | 20953 bytes | April 17 2024 16:58:17. | |
run.py | File | 13694 bytes | April 17 2024 16:58:17. | |
tabbedpages.py | File | 18167 bytes | April 17 2024 16:58:17. | |
textView.py | File | 3545 bytes | April 17 2024 16:58:17. |
"""Class browser. XXX TO DO: - reparse when source changed (maybe just a button would be OK?) (or recheck on window popup) - add popup menu with more options (e.g. doc strings, base classes, imports) - show function argument list? (have to do pattern matching on source) - should the classes and methods lists also be in the module's menu bar? - add base classes to class browser tree """ import os import sys import pyclbr from idlelib import PyShell from idlelib.WindowList import ListedToplevel from idlelib.TreeWidget import TreeNode, TreeItem, ScrolledCanvas from idlelib.configHandler import idleConf class ClassBrowser: def __init__(self, flist, name, path): # XXX This API should change, if the file doesn't end in ".py" # XXX the code here is bogus! self.name = name self.file = os.path.join(path[0], self.name + ".py") self.init(flist) def close(self, event=None): self.top.destroy() self.node.destroy() def init(self, flist): self.flist = flist # reset pyclbr pyclbr._modules.clear() # create top self.top = top = ListedToplevel(flist.root) top.protocol("WM_DELETE_WINDOW", self.close) top.bind("<Escape>", self.close) self.settitle() top.focus_set() # create scrolled canvas theme = idleConf.GetOption('main','Theme','name') background = idleConf.GetHighlight(theme, 'normal')['background'] sc = ScrolledCanvas(top, bg=background, highlightthickness=0, takefocus=1) sc.frame.pack(expand=1, fill="both") item = self.rootnode() self.node = node = TreeNode(sc.canvas, None, item) node.update() node.expand() def settitle(self): self.top.wm_title("Class Browser - " + self.name) self.top.wm_iconname("Class Browser") def rootnode(self): return ModuleBrowserTreeItem(self.file) class ModuleBrowserTreeItem(TreeItem): def __init__(self, file): self.file = file def GetText(self): return os.path.basename(self.file) def GetIconName(self): return "python" def GetSubList(self): sublist = [] for name in self.listclasses(): item = ClassBrowserTreeItem(name, self.classes, self.file) sublist.append(item) return sublist def OnDoubleClick(self): if os.path.normcase(self.file[-3:]) != ".py": return if not os.path.exists(self.file): return PyShell.flist.open(self.file) def IsExpandable(self): return os.path.normcase(self.file[-3:]) == ".py" def listclasses(self): dir, file = os.path.split(self.file) name, ext = os.path.splitext(file) if os.path.normcase(ext) != ".py": return [] try: dict = pyclbr.readmodule_ex(name, [dir] + sys.path) except ImportError as msg: return [] items = [] self.classes = {} for key, cl in dict.items(): if cl.module == name: s = key if hasattr(cl, 'super') and cl.super: supers = [] for sup in cl.super: if type(sup) is type(''): sname = sup else: sname = sup.name if sup.module != cl.module: sname = "%s.%s" % (sup.module, sname) supers.append(sname) s = s + "(%s)" % ", ".join(supers) items.append((cl.lineno, s)) self.classes[s] = cl items.sort() list = [] for item, s in items: list.append(s) return list class ClassBrowserTreeItem(TreeItem): def __init__(self, name, classes, file): self.name = name self.classes = classes self.file = file try: self.cl = self.classes[self.name] except (IndexError, KeyError): self.cl = None self.isfunction = isinstance(self.cl, pyclbr.Function) def GetText(self): if self.isfunction: return "def " + self.name + "(...)" else: return "class " + self.name def GetIconName(self): if self.isfunction: return "python" else: return "folder" def IsExpandable(self): if self.cl: try: return not not self.cl.methods except AttributeError: return False def GetSubList(self): if not self.cl: return [] sublist = [] for name in self.listmethods(): item = MethodBrowserTreeItem(name, self.cl, self.file) sublist.append(item) return sublist def OnDoubleClick(self): if not os.path.exists(self.file): return edit = PyShell.flist.open(self.file) if hasattr(self.cl, 'lineno'): lineno = self.cl.lineno edit.gotoline(lineno) def listmethods(self): if not self.cl: return [] items = [] for name, lineno in self.cl.methods.items(): items.append((lineno, name)) items.sort() list = [] for item, name in items: list.append(name) return list class MethodBrowserTreeItem(TreeItem): def __init__(self, name, cl, file): self.name = name self.cl = cl self.file = file def GetText(self): return "def " + self.name + "(...)" def GetIconName(self): return "python" # XXX def IsExpandable(self): return 0 def OnDoubleClick(self): if not os.path.exists(self.file): return edit = PyShell.flist.open(self.file) edit.gotoline(self.cl.methods[self.name]) def main(): try: file = __file__ except NameError: file = sys.argv[0] if sys.argv[1:]: file = sys.argv[1] else: file = sys.argv[0] dir, file = os.path.split(file) name = os.path.splitext(file)[0] ClassBrowser(PyShell.flist, name, [dir]) if sys.stdin is sys.__stdin__: mainloop() if __name__ == "__main__": main()
SILENT KILLER Tool