<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</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   ;