3 § fy ã@s¦ddlZddlZddlZddlmZmZddlmZGdd„deƒZ Gdd„deƒZ Gdd „d eƒZ d d „Z e d kr¢dd lmZedddd�ddlmZee ƒdS)éN)Ú ModuleBrowserÚModuleBrowserTreeItem)ÚTreeItemc@s,eZdZdddœdd„Zdd„Zdd„Zd S) Ú PathBrowserF)Ú_htestÚ_utestcCs||_||_||_|jƒdS)zG _htest - bool, change box location when running htest N)ÚmasterrrÚinit)Úselfrrr©r ú8/opt/alt/python36/lib64/python3.6/idlelib/pathbrowser.pyÚ__init__ szPathBrowser.__init__cCs|jjdƒ|jjdƒdS)zSet window titles.z Path BrowserN)ÚtopZwm_titleZ wm_iconname)r r r r Úsettitles zPathBrowser.settitlecCstƒS)N)ÚPathBrowserTreeItem)r r r r ÚrootnodeszPathBrowser.rootnodeN)Ú__name__Ú __module__Ú __qualname__r rrr r r r r s rc@seZdZdd„Zdd„ZdS)rcCsdS)Nzsys.pathr )r r r r ÚGetTextszPathBrowserTreeItem.GetTextcCs*g}x tjD]}t|ƒ}|j|ƒq W|S)N)ÚsysÚpathÚDirBrowserTreeItemÚappend)r ÚsublistÚdirÚitemr r r Ú GetSubList"s  zPathBrowserTreeItem.GetSubListN)rrrrrr r r r rsrc@s8eZdZgfdd„Zdd„Zdd„Zdd„Zd d „Zd S) rcCs||_||_dS)N)rÚpackages)r rrr r r r ,szDirBrowserTreeItem.__init__cCs|js |jS|jddSdS)Néz : packageéÿÿÿÿ)rr)r r r r r0szDirBrowserTreeItem.GetTextc Csêytj|jptjƒ}Wntk r*gSXg}xB|D]:}tjj|j|ƒ}|j|ƒr6tjj|ƒ}|j |||fƒq6W|j ƒg}x.|D]&\}}}t ||j |gƒ}|j |ƒq†Wx4|j |ƒD]&\}}ttjj|j|ƒƒ}|j |ƒq¼W|S)N)ÚosÚlistdirrÚcurdirÚOSErrorrÚjoinÚ ispackagedirÚnormcaserÚsortrrÚ listmodulesr)r ÚnamesrÚnameÚfileZnnrrr r r r6s&   zDirBrowserTreeItem.GetSubListcCs*tjj|ƒsdStjj|dƒ}tjj|ƒS)z/ Return true for directories that are packages.Fz __init__.py)r!rÚisdirr%Úexists)r r,r r r r r&Ks zDirBrowserTreeItem.ispackagedirc Csºi}tjjdd…}|tjj7}|tjj7}g}x||D]t}t|ƒ }xd|dd…D]T}tjj|ƒ}||d…|krR|d|…} | |krRd|| <|j ||fƒ|j |ƒqRWq6W|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)Rs"      zDirBrowserTreeItem.listmodulesN)rrrr rrr&r)r r r r r*s  rcCst|dd�|jƒdS)NT)r)rZmainloop)Úparentr r r Ú _path_browserfs r;Ú__main__)Úmainz"idlelib.idle_test.test_pathbrowseréF)Ú verbosityÚexit)Úrun)Úimportlib.machineryr/r!rZidlelib.browserrrZ idlelib.treerrrrr;rZunittestr=Zidlelib.idle_test.htestrAr r r r Ús  <