Sindbad~EG File Manager

Current Path : /usr/local/lib/python3.12/idlelib/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.12/idlelib/__pycache__/searchengine.cpython-312.opt-2.pyc

�

&Μg����	ddlZeje_ddlmZmZmZddlmZd�ZGd�d�Z	d�Z
d�Zd	�Ze
d
k(rddlmZedd
��yy)�N)�	StringVar�
BooleanVar�TclError)�
messageboxc�T�	t|d�st|�|_|jS)N�
_searchengine)�hasattr�SearchEnginer)�roots �1/usr/local/lib/python3.12/idlelib/searchengine.py�getr
s,���
�4��)�)�$�/�������c�p�eZdZ	d�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
dd
�Zdd�Zdd�Zdd�Zy)r
c���	||_t|d�|_t|d�|_t|d�|_t|d�|_t|d�|_t|d�|_y)N�FT)	rr�patvarr�revar�casevar�wordvar�wrapvar�backvar)�selfrs  r�__init__zSearchEngine.__init__sd��	���	���b�)�����e�,��
�!�$��.���!�$��.���!�$��-���!�$��.��rc�6�|jj�S�N)rr
�rs r�getpatzSearchEngine.getpat&s���{�{��� � rc�:�|jj|�yr)r�set�r�pats  r�setpatzSearchEngine.setpat)s��������rc�6�|jj�Sr)rr
rs r�isrezSearchEngine.isre,s���z�z�~�~��rc�6�|jj�Sr)rr
rs r�iscasezSearchEngine.iscase/����|�|���!�!rc�6�|jj�Sr)rr
rs r�iswordzSearchEngine.isword2r'rc�6�|jj�Sr)rr
rs r�iswrapzSearchEngine.iswrap5r'rc�6�|jj�Sr)rr
rs r�isbackzSearchEngine.isback8r'rc�r�	|j�rtj|�}|j|�yr)r$�re�escaper"r s  r�setcookedpatzSearchEngine.setcookedpat=s'��+��9�9�;��)�)�C�.�C����C�rc��|j�}|j�stj|�}|j	�rd|z}|S)Nz\b%s\b)rr$r/r0r)r s  r�getcookedpatzSearchEngine.getcookedpatDs:���k�k�m���y�y�{��)�)�C�.�C��;�;�=��c�/�C��
rc�x�	|j�}|s|j|d�y|j�}d}|j�s|tj
z}	t	j||�}|S#tj$r1}|j||j|j�Yd}~yd}~wwxYw)NzEmpty regular expressionr)
r�report_errorr3r&r/�
IGNORECASE�compile�PatternError�msg�pos)rr!�flags�prog�es     r�getprogzSearchEngine.getprogLs���0��k�k�m������c�#=�>�����!�����{�{�}��B�M�M�)�E�	��:�:�c�5�)�D�������	����c�1�5�5�!�%�%�0���	�s�A5�5B9�'B4�4B9Nc��dt|�z}|r|dzt|�z}|�|dzt|�z}tjd||j��y)NzError: z

Pattern: z	
Offset: zRegular expression error)�master)�strr�	showerrorr)rr!r9�cols    rr5zSearchEngine.report_error]sX���#�c�(�"����
�%��C��0�C��?���$�s�3�x�/�C����7�"�4�9�9�	6rc�R�	|s|j�}|sy|jj�}t|�\}}|j	�r-|r|}n|}t|�\}}	|j
||||	||�}
|
S|r|}n|}t|�\}}	|j||||	||�}
|
Sr)r>rr
�
get_selectionr-�get_line_col�search_backward�search_forward)r�textr<�ok�wrap�first�last�start�linerC�ress           r�search_textzSearchEngine.search_textgs���	�"��<�<�>�D����|�|���!��#�D�)���t��;�;�=������$�U�+�I�D�#��&�&�t�T�4��d�B�G�C��
�
�����$�U�+�I�D�#��%�%�d�D�$��T�2�F�C��
rc�>�d}|}|jd|zd|dzz�}	|	r||j|	dd|�}
|
r|s|
j�|kDr||
fS|dz}|r||kDr	yd}d}|jd|zd|dzz�}	|	s|rd}d}d}|jdd�}	|	r�|y)Nr�%d.0����z1.0z2.0)r
�search�end)rrIr<rOrCrKrJ�wrapped�	startline�chars�ms           rrHzSearchEngine.search_forward�s������	�����$���$�q�&�(9�:������E�#�2�J��,�A�������3����7�N��!�8�D��4�)�+����C��B��H�H�V�d�]�F�d�1�f�,=�>�E��T������������.��� rc��d}|}|jd|zd|dzz�}		t||	dd|�}
|
r|s|
j�|kr||
fS|dz
}|r||kr	yd}|dkr;|s	yd}d}|jd�}t	t
|j
d��\}}|jd|zd|dzz�}	t|	�dz
}��)NrrSrTrUzend-1c�.)r
�search_reverserN�index�map�int�split�len)rrIr<rOrCrKrJrXrYrZr[r:s            rrGzSearchEngine.search_backward�s������	�����$���$�q�&�(9�:����t�U�3�B�Z��5�A�������S����7�N��!�8�D��4�)�+����B��q�y����
�����j�j��*����S�Y�Y�s�^�4�	��c��H�H�V�d�]�F�d�1�f�,=�>�E��e�*�q�.�C�#rr)Nr)r)�__name__�
__module__�__qualname__rrr"r$r&r)r+r-r1r3r>r5rQrHrG�rrr
r
sQ��F�/�!�� �"�"�"�"�
���"6�&�P�,rr
c���	|j|�}|syd}|j�\}}||krF||krA|}||k(r|dz}|j||�}|s	|S|j�\}}||kr||kr�A|S)NrT)rV�span)r<rZrCr[�found�i�js       rr^r^�s����	
���E��A����E��6�6�8�D�A�q�
�c�'�a�3�h�����6��!��A��K�K��q�!�����L��v�v�x���1��c�'�a�3�h��Lrc��		|jd�}|jd�}|s|jd�}|s|}||fS#t$rdx}}Y�*wxYw)Nz	sel.firstzsel.last�insert)r_r)rIrLrMs   rrErE�sh�����
�
�;�'���z�z�*�%����
�
�8�$������$�;���
�������s�"A�
A�Ac�P�	tt|jd��\}}||fS)Nr])r`rarb)r_rOrCs   rrFrF�s(��B��C����S�)�*�I�D�#���9�r�__main__)�mainz#idlelib.idle_test.test_searchengine�)�	verbosity)r/�errorr8�tkinterrrrrr
r
r^rErFrd�unittestrqrgrr�<module>rws]��-�	��(�(���3�3��	�g�g�T�.���z����	.�!�<�r

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists