£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>

]                 @   s   d  d l  Z  d  d l Z d  d l Z d  d l m Z d  d l m Z m Z d  d l	 m
 Z
 Gd d   d e  Z Gd d   d e  Z Gd	 d
   d
 e  Z d d   Z e d k r d  d l m Z e d d d d d d  d l m Z e e  d S)    N)TreeItem)ClassBrowserModuleBrowserTreeItem)PyShellFileListc               @   s7   e  Z d  Z d d d  Z d d   Z d d   Z d S)	PathBrowserFc             C   s   | |  _  |  j |  d  S)N)_htestinit)selfflistr    r   0/opt/alt/python35/lib64/python3.5/PathBrowser.py__init__   s    	zPathBrowser.__init__c             C   s$   |  j  j d  |  j  j d  d  S)NzPath Browser)topZwm_titleZwm_iconname)r	   r   r   r   settitle   s    zPathBrowser.settitlec             C   s   t    S)N)PathBrowserTreeItem)r	   r   r   r   rootnode   s    zPathBrowser.rootnodeN)__name__
__module____qualname__r   r   r   r   r   r   r   r   
   s   r   c               @   s(   e  Z d  Z d d   Z d d   Z d S)r   c             C   s   d S)Nzsys.pathr   )r	   r   r   r   GetText   s    zPathBrowserTreeItem.GetTextc             C   s7   g  } x* t  j D] } t |  } | j |  q W| S)N)syspathDirBrowserTreeItemappend)r	   sublistdiritemr   r   r   
GetSubList    s
    zPathBrowserTreeItem.GetSubListN)r   r   r   r   r   r   r   r   r   r      s   r   c               @   sO   e  Z d  Z g  d d  Z d d   Z d d   Z d d   Z d	 d
   Z d S)r   c             C   s   | |  _  | |  _ d  S)N)r   packages)r	   r   r   r   r   r   r   )   s    	zDirBrowserTreeItem.__init__c             C   s#   |  j  s |  j S|  j  d d Sd  S)N   z	: package)r   r   )r	   r   r   r   r   -   s    	zDirBrowserTreeItem.GetTextc             C   s=  y t  j |  j p t  j  } Wn t k
 r7 g  SYn Xg  } x] | D]U } t  j j |  j |  } |  j |  rE t  j j |  } | j	 | | | f  qE W| j
   g  } x= | D]5 \ } } } t | |  j | g  } | j	 |  q WxH |  j |  D]7 \ } } t t  j j |  j |   } | j	 |  q W| S)N)oslistdirr   curdirOSErrorr   joinispackagedirnormcaser   sortr   r   listmodulesr   )r	   namesr   namefilennr   r   r   r   r   r   3   s&    	
zDirBrowserTreeItem.GetSubListc             C   s;   t  j j |  s d St  j j | d  } t  j j |  S)NFz__init__.py)r!   r   isdirr%   exists)r	   r,   r   r   r   r   r&   H   s    zDirBrowserTreeItem.ispackagedirc       
      C   s   i  } t  j j d  d   } | t  j j 7} | t  j j 7} g  } x | D] } t |  } x | d  d   D]t } t j j |  } | | d   | k rm | d  |  }	 |	 | k rm d  | |	 <| j	 | | f  | j
 |  qm WqI W| j   | S)N)	importlib	machineryEXTENSION_SUFFIXESSOURCE_SUFFIXESBYTECODE_SUFFIXESlenr!   r   r'   r   remover(   )
r	   ZallnamesmodulessuffixessortedZsuffir+   Znormed_nameZmod_namer   r   r   r)   O   s"    

zDirBrowserTreeItem.listmodulesN)r   r   r   r   r   r   r&   r)   r   r   r   r   r   '   s
   r   c             C   s*   t  |   } t | d d |  j   d  S)Nr   T)r   r   Zmainloop)parentr
   r   r   r   _path_browserb   s    r<   __main__)mainz"idlelib.idle_test.test_pathbrowser	verbosity   exitF)run)r!   r   Zimportlib.machineryr0   Zidlelib.TreeWidgetr   Zidlelib.ClassBrowserr   r   Zidlelib.PyShellr   r   r   r   r<   r   Zunittestr>   Zidlelib.idle_test.htestrB   r   r   r   r   <module>   s   ;