B � 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||_||_||_|��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  <