î e f‡ ã@sûddlZddlZddlZddlmZddlmZmZddl m Z Gdd„deƒZ Gdd„deƒZ Gd d „d eƒZ d d „Zed kr÷ddlmZedddddƒddlmZeeƒndS)éN)ÚTreeItem)Ú ClassBrowserÚModuleBrowserTreeItem)ÚPyShellFileListc@s7eZdZddd„Zdd„Zdd„ZdS) Ú PathBrowserFcCs||_|j|ƒdS)zG _htest - bool, change box location when running htest N)Ú_htestÚinit)ÚselfÚflistr©r ú8/opt/alt/python34/lib64/python3.4/idlelib/PathBrowser.pyÚ__init__ s zPathBrowser.__init__cCs$|jjdƒ|jjdƒdS)zSet window titles.z Path BrowserN)ÚtopZwm_titleZ wm_iconname)r r r r ÚsettitleszPathBrowser.settitlecCstƒS)N)ÚPathBrowserTreeItem)r r r r ÚrootnodeszPathBrowser.rootnodeN)Ú__name__Ú __module__Ú __qualname__r rrr r r r r s  rc@s(eZdZdd„Zdd„ZdS)rcCsdS)Nzsys.pathr )r r r r ÚGetTextszPathBrowserTreeItem.GetTextcCs7g}x*tjD]}t|ƒ}|j|ƒqW|S)N)ÚsysÚpathÚDirBrowserTreeItemÚappend)r ÚsublistÚdirÚitemr r r Ú GetSubList s  zPathBrowserTreeItem.GetSubListN)rrrrrr r r r rs  rc@sOeZdZgdd„Zdd„Zdd„Zdd„Zd d „Zd S) rcCs||_||_dS)N)rÚpackages)r rrr r r r )s zDirBrowserTreeItem.__init__cCs#|js|jS|jddSdS)Néz : packageéÿÿÿÿ)rr)r r r r r-s zDirBrowserTreeItem.GetTextc Cs@ytj|jptjƒ}Wntk r7gSYnXg}x`|D]X}tjj|j|ƒ}|j|ƒrEtjj|ƒ}|j |||fƒqEqEW|j ƒg}x=|D]5\}}}t ||j |gƒ}|j |ƒq¸WxH|j |ƒD]7\}}ttjj|j|ƒƒ}|j |ƒqW|S)N)ÚosÚlistdirrÚcurdirÚOSErrorrÚjoinÚ ispackagedirÚnormcaserÚsortrrÚ listmodulesr)r ÚnamesrÚnameÚfileZnnrrr r r r3s&    zDirBrowserTreeItem.GetSubListcCs;tjj|ƒsdStjj|dƒ}tjj|ƒS)z/ Return true for directories that are packages.Fz __init__.py)r!rÚisdirr%Úexists)r r,rr r r r&HszDirBrowserTreeItem.ispackagedirc Csýi}tjjdd…}|tjj7}|tjj7}g}xª|D]¢}t|ƒ }xŒ|dd…D]z}tjj|ƒ}||d…|krm|d|…} | |krçd|| <|j ||fƒ|j |ƒqçqmqmWqIW|j ƒ|S)N) Ú importlibÚ machineryÚEXTENSION_SUFFIXESÚSOURCE_SUFFIXESÚBYTECODE_SUFFIXESÚlenr!rr'rÚremover() r ZallnamesÚmodulesÚsuffixesÚsortedZsuffÚir+Z normed_nameZmod_namer r r r)Os"     zDirBrowserTreeItem.listmodulesN)rrrr rrr&r)r r r r r's    rcCs*t|ƒ}t|ddƒ|jƒdS)NrT)rrZmainloop)Úparentr r r r Ú _path_browserbs r;Ú__main__)Úmainz"idlelib.idle_test.test_pathbrowserÚ verbosityéÚexitF)Úrun)r!rÚimportlib.machineryr/Zidlelib.TreeWidgetrZidlelib.ClassBrowserrrZidlelib.PyShellrrrrr;rZunittestr=Zidlelib.idle_test.htestrAr r r r Ús    ;