B ðˆÁfÛs'ã@s¦ddlZddlZddlZddlmZmZddlmZGdd„deƒZ Gdd„deƒZ Gdd „d eƒZ d d „Z e d kr¢dd lmZeddddddlmZee ƒdS)éN)Ú ModuleBrowserÚModuleBrowserTreeItem)ÚTreeItemc@s,eZdZdddœdd„Zdd„Zdd„Zd S) Ú PathBrowserF)Ú_htestÚ_utestcCs||_||_||_| ¡dS)zG _htest - bool, change box location when running htest N)ÚmasterrrÚinit)Úselfrrr©r ú8/opt/alt/python37/lib64/python3.7/idlelib/pathbrowser.pyÚ__init__ szPathBrowser.__init__cCs|j d¡|j d¡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|ƒ}| |¡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.GetTextcCsêyt |jptj¡}Wntk r*gSXg}xB|D]:}tj |j|¡}| |¡r6tj |¡}|  |||f¡q6W|  ¡g}x.|D]&\}}}t ||j |gƒ}|  |¡q†Wx4|  |¡D]&\}}ttj |j|¡ƒ}|  |¡q¼W|S)N)ÚosÚlistdirrÚcurdirÚOSErrorrÚjoinÚ ispackagedirÚnormcaserÚsortrrÚ listmodulesr)r ÚnamesrÚnameÚfileZnnrrr r r r6s&   zDirBrowserTreeItem.GetSubListcCs*tj |¡sdStj |d¡}tj |¡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}tj |¡}||d…|krR|d|…} | |krRd|| <|  ||f¡|  |¡qRWq6W|  ¡|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| ¡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.htestr@r r r r Ús  <