Sindbad~EG File Manager
�
%Μg�!��2� ddlZddlZddlZddlmZddlmZddlmZm Z m
Z
ddlmZddl
mZdadZd�Zdd �ZGd
�d�ZGd�d
e �ZGd�de �Zd�Zedk(r5eej2�dk(rddlmZeddd��ddlmZee�yy)�N)�idleConf)�pyshell)�TreeNode�TreeItem�ScrolledCanvas)�
py_extensions)�ListedToplevel)z.pyic��tjj|�\}}tjj|�}|tvxr|t
vS�N)�os�path�splitext�normcaser�browseable_extension_blocklist)r
�_�exts �,/usr/local/lib/python3.12/idlelib/browser.py�is_browseable_extensionrsD��
�W�W�
�
�d�
#�F�A�s�
�'�'�
�
�3�
�C��-��M�C�/M�$M�M�c�� g}|j�D]�\}}|�|j|k(s�t|d�r�|jr�|j|k(r�g}|jD]\}t|t�r|}n6|j}|j|jk7r|j�d|��}|j|��^|xjdjdj|��z
c_|j|���|S)N�super�.z({})z, )
�items�module�hasattrr�name�
isinstance�str�append�format�join)�
child_dict�modname�obs�key�obj�supers�sup�snames r�transform_childrenr*#s����
�C��$�$�&���S��?�c�j�j�G�3��s�G�$����s�x�x�3�����9�9�C�!�#�s�+� #�� #�����:�:����3�'*�z�z�l�!�E�7�$;�E��M�M�%�(�%����F�M�M�$�)�)�F�*;�<�<���J�J�s�O�'��Jrc�6�eZdZ ddd�d�Zd d�Zd�Zd�Zd�Zy)
�
ModuleBrowserF)�_htest�_utestc�^� ||_||_||_||_|j �yr)�masterr
r-r.�init)�selfr0r
r-r.s r�__init__zModuleBrowser.__init__Js.�� �"����� �������� � �rNc�n� |jj�|jj�yr)�top�destroy�node)r2�events r�closezModuleBrowser.closebs%��0�������� � ���rc�� |j}|js|jstjntj
|�}|jatjj�t|�x|_}|jd|j�|jd|j�|jr5|j!d|j#�|j%�dzfz�|j'�|j)�t+j,�}t+j.|d�d}t1||dd� �}|j2j5dd
��|j7�}t9|j:d|�x|_}|js!|j?�|jA�yy)N�WM_DELETE_WINDOWz<Escape>z+%d+%d���normal�
backgroundr�)�bg�highlightthickness� takefocus�both)�expand�fill)!r0r-r.r�flist�PyShellFileList�open� file_open�pyclbr�_modules�clearr r5�protocolr9�bind�geometry�winfo_rootx�winfo_rooty�settitle� focus_setr�CurrentTheme�GetHighlightr�frame�pack�rootnoder�canvasr7�updaterD) r2�rootrFr5�themer>�sc�itemr7s rr1zModuleBrowser.initgsa��=��{�{��'+�{�{�d�k�k�����-�-�d�3� ��J�J� �������(��-�-���3����'����4�����T�Z�Z�(��;�;��L�L���!�!�#�T�%5�%5�%7�#�%=�>�?�
@��
�
���
�
���%�%�'���*�*�5�(�;�L�I�
�
�C�J�1�&'�)��
���
�
�Q�V�
�,��}�}���#�B�I�I�t�T�:�:�� �D��{�{��K�K�M��K�K�M�rc��� |jjdtjj |j�z�|jjd�y)NzModule Browser - zModule Browser)r5�wm_titlerr
�basename�wm_iconname�r2s rrRzModuleBrowser.settitle�sC��������-����0@�0@����0K�K�L������-�.rc�.� t|j�Sr)�ModuleBrowserTreeItemr
rcs rrXzModuleBrowser.rootnode�s��A�$�T�Y�Y�/�/rr)�__name__�
__module__�__qualname__r3r9r1rRrX�rrr,r,Cs'���05�U��0�
�>/�
0rr,c�8�eZdZ d�Zd�Zd�Zd�Zd�Zd�Zd�Z y) rec�� ||_yr)�file)r2rls rr3zModuleBrowserTreeItem.__init__�s�� �
�� rc�V� tjj|j�Sr)rr
rarlrcs r�GetTextzModuleBrowserTreeItem.GetText�s��?��w�w���� � �*�*rc�� y)N�pythonrircs r�GetIconNamez!ModuleBrowserTreeItem.GetIconName�s��1�rc�\� |j�D�cgc]
}t|���c}Scc}wr)�listchildren�ChildBrowserTreeItem�r2r&s r�
GetSubListz ModuleBrowserTreeItem.GetSubList�s.��4�59�5F�5F�5H�I�5H�c�$�S�)�5H�I�I��Is�)c�� t|j�sytjj |j�syt|j�yr)rrlrr
�existsrIrcs r�
OnDoubleClickz#ModuleBrowserTreeItem.OnDoubleClick�s7��@�&�t�y�y�1���w�w�~�~�d�i�i�(���$�)�)�rc�.� t|j�Sr)rrlrcs r�IsExpandablez"ModuleBrowserTreeItem.IsExpandable�s��%�&�t�y�y�1�1rc�Z� t|j�sgStjj |j�\}}tjj|�\}} t
j||gtjz�}t||�S#t$rgcYSwxYwr)rrlrr
�splitrrJ�
readmodule_ex�sys�ImportErrorr*)r2�dir�baserr�trees rrsz"ModuleBrowserTreeItem.listchildren�s���?�&�t�y�y�1��I��G�G�M�M�$�)�)�,� ��T��'�'�"�"�4�(���a� ��'�'��s�e�c�h�h�.>�?�D�"�$��-�-��� ��I� �s�((B�B*�)B*N)
rfrgrhr3rnrqrvryr{rsrirrrere�s+����+��J��2�
.rrec�2�eZdZ d�Zd�Zd�Zd�Zd�Zd�Zy)rtc�t� ||_|j|_t|tj�|_yr)r&rrrJ�Function�
isfunctionrus rr3zChildBrowserTreeItem.__init__�s)��?�����H�H�� �$�S�&�/�/�:��rc�N� |j}|jrd|zdzSd|zS)Nzdef z(...)zclass )rr�)r2rs rrnzChildBrowserTreeItem.GetText�s.��;��y�y���?�?��D�=�7�*�*��d�?�"rc� � |jryy)Nrp�folder)r�rcs rrqz ChildBrowserTreeItem.GetIconName�s��1��?�?��rc�6� |jjik7Sr)r&�childrenrcs rr{z!ChildBrowserTreeItem.IsExpandable�s��5��x�x� � �B�&�&rc�z� t|jj�D�cgc]
}t|���c}Scc}wr)r*r&r�rtrus rrvzChildBrowserTreeItem.GetSubList�sB��4�-�d�h�h�.?�.?�@�B�@�C�%�S�)�@�B� B��Bs�8c�� t|jj�}|j|jj�y#t
tf$rYywxYwr)rIr&rl�gotoline�lineno�OSError�AttributeError)r2�edits rryz"ChildBrowserTreeItem.OnDoubleClick�sG��<� ��T�X�X�]�]�+�D��M�M�$�(�(�/�/�*����(� �� �s�AA�A�AN) rfrgrhr3rnrqr{rvryrirrrtrt�s&���
;�#��'�B�
rrtc��ttj�dkDrtjd}nt}Gd�dt�}d�}t||d��y)Nr?c��eZdZd�Zy)�'_module_browser.<locals>.Nested_in_funcc��yrririrr�nested_in_classz7_module_browser.<locals>.Nested_in_func.nested_in_class�s��4rN)rfrgrhr�rirr�Nested_in_funcr��s��'rr�c��Gd�d�}y)Nc��eZdZy)�;_module_browser.<locals>.closure.<locals>.Nested_in_closureN)rfrgrhrirr�Nested_in_closurer��s�rr�ri)r�s r�closurez _module_browser.<locals>.closure�s��)�)rT)r-)�lenr�argv�__file__rr,)�parentrlr�r�s r�_module_browserr��sA��
�3�8�8�}�q���x�x��{���� (�X� (� *��&�$�t�,r�__main__r?)�mainzidlelib.idle_test.test_browser�F)� verbosity�exit)�runr)rrJr�idlelib.configr�idlelibr�idlelib.treerrr�idlelib.utilr�idlelib.windowr rIrrr*r,rertr�rfr�r��unittestr��idlelib.idle_test.htestr�rirr�<module>r�s����
�
�
�#��;�;�&�)�
� �"+��N��@J0�J0�Z1.�H�1.�h*�8�*�Z
-��z��
�3�8�8�}���!��
-���G�+����
r
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists