
   j/cg                       S SK rS SKrS SKrS SKJrJr  S SKJr   " S S\5      r	 " S S\5      r
 " S S	\5      r\S
:X  a  S SKJr  \" SSSS9  S SKJr  \" \	5        gg)    N)ModuleBrowserModuleBrowserTreeItem)TreeItemc                   0    \ rS rSrSSS.S jrS rS rSrg)	PathBrowser	   F)_htest_utestc                H    Xl         X l        X0l        U R                  5         g)z7
_htest - bool, change box location when running htest
N)masterr	   r
   init)selfr   r	   r
   s       */usr/lib/python3.13/idlelib/pathbrowser.py__init__PathBrowser.__init__   s     		    c                 p    U R                   R                  S5        U R                   R                  S5        g)zSet window titles.zPath BrowserN)topwm_titlewm_iconnamer   s    r   settitlePathBrowser.settitle   s&    .)^,r   c                     [        5       $ N)PathBrowserTreeItemr   s    r   rootnodePathBrowser.rootnode   s    "$$r   )r	   r
   r   N)__name__
__module____qualname____firstlineno__r   r   r   __static_attributes__ r   r   r   r   	   s    ).u -
%r   r   c                        \ rS rSrS rS rSrg)r      c                     g)Nzsys.pathr$   r   s    r   GetTextPathBrowserTreeItem.GetText   s    r   c                 p    / n[         R                   H  n[        U5      nUR                  U5        M!     U$ r   )syspathDirBrowserTreeItemappend)r   sublistdiritems       r   
GetSubListPathBrowserTreeItem.GetSubList"   s2    88C%c*DNN4   r   r$   N)r   r    r!   r"   r(   r2   r#   r$   r   r   r   r      s    r   r   c                   8    \ rS rSr/ 4S jrS rS rS rS rSr	g)	r-   *   c                     Xl         X l        g r   r0   packages)r   r0   r8   s      r   r   DirBrowserTreeItem.__init__,   s     r   c                 `    U R                   (       d  U R                  $ U R                   S   S-   $ )Nz	: package)r8   r0   r   s    r   r(   DirBrowserTreeItem.GetText0   s&    }}88O==${22r   c                     [         R                  " U R                  =(       d    [         R                  5      n/ nU Hw  n[         R
                  R                  U R                  U5      nU R                  U5      (       d  ME  [         R
                  R                  U5      nUR                  XSU45        My     UR                  5         / nU H0  u  pSn[        X@R                  U/-   5      nUR                  U5        M2     U R                  U5       HI  u  pS[        [         R
                  R                  U R                  U5      5      nUR                  U5        MK     U$ ! [         a    / s $ f = fr   )oslistdirr0   curdirOSErrorr,   joinispackagedirnormcaser.   sortr-   r8   listmodulesr   )r   namesr8   namefilennr/   r1   s           r   r2   DirBrowserTreeItem.GetSubList6   s   	JJtxx42995E D77<<$/D  &&WW%%d+4 01	 
 	&NBd%dMMTF,BCDNN4  ' ((/HB(dhh)EFDNN4  0 !  	I	s   7E   E/.E/c                     [         R                  R                  U5      (       d  g[         R                  R                  US5      n[         R                  R	                  U5      $ )z.Return true for directories that are packages.Fz__init__.py)r>   r,   isdirrB   exists)r   rI   r   s      r   rC   DirBrowserTreeItem.ispackagedirK   s?    ww}}T""ww||D-0ww~~d##r   c                    0 n[         R                  R                  S S  nU[         R                  R                  -  nU[         R                  R                  -  n/ nU Hw  n[        U5      * nUS S   H_  n[        R                  R                  U5      nXS  U:X  d  M,  US U n	X;  d  M8  S X)'   UR                  X45        UR                  U5        Ma     My     UR                  5         U$ r   )	importlib	machineryEXTENSION_SUFFIXESSOURCE_SUFFIXESBYTECODE_SUFFIXESlenr>   r,   rD   r.   removerE   )
r   allnamesmodulessuffixessortedsuffirH   normed_namemod_names
             r   rF   DirBrowserTreeItem.listmodulesR   s    &&99!<I''777I''999DT
A  gg..t4r?d*#BQxH.,0){&9: - $  	r   r7   N)
r   r    r!   r"   r   r(   r2   rC   rF   r#   r$   r   r   r-   r-   *   s    %' !3*$r   r-   __main__)mainz"idlelib.idle_test.test_pathbrowser   F)	verbosityexit)run)importlib.machineryrQ   r>   r+   idlelib.browserr   r   idlelib.treer   r   r   r-   r   unittestrb   idlelib.idle_test.htestrf   r$   r   r   <module>rl      sc     	 
 @ !%- %(
( 
9 9x z	-G+ r   