HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //usr/local/lib/python3.10/idlelib/__pycache__/searchengine.cpython-310.opt-2.pyc
o

�i��@s�	ddlZddlmZmZmZddlmZdd�ZGdd�d�Zdd	�Zd
d�Z	dd
�Z
edkr>ddlm
Z
e
ddd�dSdS)�N)�	StringVar�
BooleanVar�TclError)�
messageboxcCs	t|d�st|�|_|jS)N�
_searchengine)�hasattr�SearchEnginer)�root�r
�1/usr/local/lib/python3.10/idlelib/searchengine.py�gets

rc@s�eZdZ	dd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
d!dd�Zd"dd�Zd#dd�Zd#dd �ZdS)$rcCsT	||_t|d�|_t|d�|_t|d�|_t|d�|_t|d�|_t|d�|_dS)N�FT)	r	r�patvarr�revar�casevar�wordvar�wrapvar�backvar)�selfr	r
r
r�__init__szSearchEngine.__init__cC�
|j��S�N)rr�rr
r
r�getpat%�
zSearchEngine.getpatcCs|j�|�dSr)r�set�r�patr
r
r�setpat(szSearchEngine.setpatcCrr)rrrr
r
r�isre+rzSearchEngine.isrecCrr)rrrr
r
r�iscase.rzSearchEngine.iscasecCrr)rrrr
r
r�isword1rzSearchEngine.iswordcCrr)rrrr
r
r�iswrap4rzSearchEngine.iswrapcCrr)rrrr
r
r�isback7rzSearchEngine.isbackcCs"	|��r
t�|�}|�|�dSr)r�re�escaperrr
r
r�setcookedpat<s
zSearchEngine.setcookedpatcCs.|��}|��s
t�|�}|��rd|}|S)Nz\b%s\b)rrr$r%r!rr
r
r�getcookedpatCs
zSearchEngine.getcookedpatc
Cs�	|��}|s|�|d�dS|��}d}|��s|tjB}z	t�||�}W|StjyD}z|�||j|j	�WYd}~dSd}~ww)NzEmpty regular expressionr)
r�report_errorr'r r$�
IGNORECASE�compile�error�msg�pos)rr�flags�prog�er
r
r�getprogKs"
���zSearchEngine.getprogNcCsNdt|�}|r|dt|�}|dur|dt|�}tjd||jd�dS)NzError: z

Pattern: z	
Offset: zRegular expression error)Zmaster)�strrZ	showerrorr	)rrr,�colr
r
rr(\s
�zSearchEngine.report_errorrcCs�	|s|��}|sdS|j��}t|�\}}|��r3|r|}n|}t|�\}}	|�||||	||�}
|
S|r8|}n|}t|�\}}	|�||||	||�}
|
Sr)r1rr�
get_selectionr#�get_line_col�search_backward�search_forward)r�textr/�ok�wrap�first�last�start�liner3�resr
r
r�search_textfs(
�zSearchEngine.search_textcCs�d}|}|�d|d|d�}	|	rY|�|	dd�|�}
|
r*|s&|
��|kr*||
fS|d}|r7||kr7	dSd}d}|�d|d|d�}	|	sW|rWd}d}d}|�dd�}	|	sdS)Nr�%d.0����z1.0z2.0)r�search�end)rr8r/r>r3r:r9�wrapped�	startline�chars�mr
r
rr7�s,	��zSearchEngine.search_forwardcCs�d}|}|�d|d|d�}		t||	dd�|�}
|
r)|s%|
��|kr)||
fS|d}|r6||kr6	dSd}|dkrT|sA	dSd}d}|�d�}tt|�d��\}}|�d|d|d�}	t|	�d}q)NrrArBTrCzend-1c�.)r�search_reverser=�index�map�int�split�len)rr8r/r>r3r:r9rFrGrHrIr-r
r
rr6�s0��
�zSearchEngine.search_backwardr)Nr)r)�__name__�
__module__�__qualname__rrrrr r!r"r#r&r'r1r(r@r7r6r
r
r
rrs"



(rcCs~	|�|�}|s
dSd}|��\}}||kr=||kr=|}||kr$|d}|�||�}|s/	|S|��\}}||kr=||ks|S)NrB)rD�span)r/rHr3rI�found�i�jr
r
rrK�s"
��rKcCsT	z|�d�}|�d�}Wn
tyd}}Ynw|s"|�d�}|s&|}||fS)Nz	sel.firstzsel.last�insert)rLr)r8r;r<r
r
rr4�s
�
r4cCs	tt|�d��\}}||fS)NrJ)rMrNrO)rLr>r3r
r
rr5�sr5�__main__)�mainz#idlelib.idle_test.test_searchengine�)�	verbosity)r$�tkinterrrrrrrrKr4r5rQZunittestrZr
r
r
r�<module>s+�