Psyduck - 可達鴨 之 鴨力山大2


Server : LiteSpeed
System : Linux premium217.web-hosting.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
User : alloknri ( 880)
PHP Version : 8.1.34
Disable Function : NONE
Directory :  /opt/alt/python36/lib64/python3.6/idlelib/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //opt/alt/python36/lib64/python3.6/idlelib/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)
Name
Size
Permissions
Options
Icons
--
drwxr-xr-x
__pycache__
--
drwxr-xr-x
idle_test
--
drwxr-xr-x
CREDITS.txt
1.822 KB
-rw-r--r--
ChangeLog
55.039 KB
-rw-r--r--
HISTORY.txt
10.07 KB
-rw-r--r--
NEWS.txt
38.905 KB
-rw-r--r--
NEWS2x.txt
26.535 KB
-rw-r--r--
README.txt
9.367 KB
-rw-r--r--
TODO.txt
8.279 KB
-rw-r--r--
__init__.py
0.387 KB
-rw-r--r--
__main__.py
0.155 KB
-rw-r--r--
_pyclbr.py
14.843 KB
-rw-r--r--
autocomplete.py
9.105 KB
-rw-r--r--
autocomplete_w.py
19.364 KB
-rw-r--r--
autoexpand.py
3.141 KB
-rw-r--r--
browser.py
8.087 KB
-rw-r--r--
calltip.py
5.925 KB
-rw-r--r--
calltip_w.py
6.944 KB
-rw-r--r--
codecontext.py
10.244 KB
-rw-r--r--
colorizer.py
11.011 KB
-rw-r--r--
config-extensions.def
2.213 KB
-rw-r--r--
config-highlight.def
2.624 KB
-rw-r--r--
config-keys.def
10.522 KB
-rw-r--r--
config-main.def
3.055 KB
-rw-r--r--
config.py
37.967 KB
-rw-r--r--
config_key.py
13.094 KB
-rw-r--r--
configdialog.py
98.688 KB
-rw-r--r--
debugger.py
18.649 KB
-rw-r--r--
debugger_r.py
11.855 KB
-rw-r--r--
debugobj.py
3.96 KB
-rw-r--r--
debugobj_r.py
1.057 KB
-rw-r--r--
delegator.py
1.019 KB
-rw-r--r--
dynoption.py
1.97 KB
-rw-r--r--
editor.py
65.698 KB
-rw-r--r--
extend.txt
3.557 KB
-rw-r--r--
filelist.py
3.805 KB
-rw-r--r--
grep.py
6.584 KB
-rw-r--r--
help.html
53.822 KB
-rw-r--r--
help.py
11.06 KB
-rw-r--r--
help_about.py
8.771 KB
-rw-r--r--
history.py
3.948 KB
-rw-r--r--
hyperparser.py
12.58 KB
-rw-r--r--
idle.py
0.443 KB
-rw-r--r--
idle.pyw
0.557 KB
-rw-r--r--
iomenu.py
20.248 KB
-rw-r--r--
macosx.py
9.434 KB
-rw-r--r--
mainmenu.py
3.616 KB
-rw-r--r--
multicall.py
18.211 KB
-rw-r--r--
outwin.py
5.672 KB
-rw-r--r--
paragraph.py
6.999 KB
-rw-r--r--
parenmatch.py
7.035 KB
-rw-r--r--
pathbrowser.py
3.118 KB
-rw-r--r--
percolator.py
3.057 KB
-rw-r--r--
pyparse.py
19.646 KB
-rw-r--r--
pyshell.py
56.375 KB
-rwxr-xr-x
query.py
12.143 KB
-rw-r--r--
redirector.py
6.714 KB
-rw-r--r--
replace.py
7.326 KB
-rw-r--r--
rpc.py
20.642 KB
-rw-r--r--
rstrip.py
0.848 KB
-rw-r--r--
run.py
16.867 KB
-rw-r--r--
runscript.py
7.657 KB
-rw-r--r--
scrolledlist.py
4.354 KB
-rw-r--r--
search.py
3.09 KB
-rw-r--r--
searchbase.py
7.276 KB
-rw-r--r--
searchengine.py
7.297 KB
-rw-r--r--
squeezer.py
12.996 KB
-rw-r--r--
stackviewer.py
4.35 KB
-rw-r--r--
statusbar.py
1.407 KB
-rw-r--r--
textview.py
5.978 KB
-rw-r--r--
tooltip.py
6.334 KB
-rw-r--r--
tree.py
14.735 KB
-rw-r--r--
undo.py
10.788 KB
-rw-r--r--
window.py
2.527 KB
-rw-r--r--
zoomheight.py
1.309 KB
-rw-r--r--
zzdummy.py
0.938 KB
-rw-r--r--