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__/undo.cpython-310.pyc
o

�9j&+�@s�ddlZddlmZGdd�de�ZGdd�d�ZGdd�de�ZGd	d
�d
e�ZGdd�de�Zd
d�Ze	dkrRddl
mZedddd�ddlm
Z
e
e�dSdS)�N)�	Delegatorc@s�eZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dZ
dd�ZdZdd�Z
d#dd�Zd#dd�Zdd�Zdd�Zd$dd�Zdd �Zd!d"�ZdS)%�
UndoDelegatori�cCst�|�|��dS�N)r�__init__�
reset_undo��self�r	�#/usr/lib/python3.10/idlelib/undo.pyrs
zUndoDelegator.__init__cCsn|jdur|�d�|�d�|�d�t�||�|dur5|�d|j�|�d|j�|�d|j�dSdS)Nz<<undo>>z<<redo>>z<<dump-undo-state>>)�delegate�unbindr�setdelegate�bind�
undo_event�
redo_event�
dump_event)rrr	r	r
r
s



�zUndoDelegator.setdelegatecCsvddlm}||jd|j��td|jdd�td|jdd�td|jdd�td|���||j|jd��d	S)
Nr)�pprintzpointer:� )�endzsaved:z
can_merge:zget_saved():�break)r�undolist�pointer�print�saved�	can_merge�	get_saved)r�eventrr	r	r
r(szUndoDelegator.dump_eventcCs&d|_d|_g|_d|_|�d�dS�N���r�)�	was_savedrr�	undoblock�	set_savedrr	r	r
r2s
zUndoDelegator.reset_undocCs&|r|j|_nd|_d|_|��dS)NrF)rrr�check_saved)r�flagr	r	r
r"9s

zUndoDelegator.set_savedcCs|j|jkSr)rrrr	r	r
rAszUndoDelegator.get_savedNcCs
||_dSr)�saved_change_hook)r�hookr	r	r
�set_saved_change_hookF�
z#UndoDelegator.set_saved_change_hookrcCs2|��}||jkr||_|jr|��dSdSdSr)rr r%)r�is_savedr	r	r
r#Ks
�zUndoDelegator.check_savedcCs|�t|||��dSr)�addcmd�
InsertCommand)r�index�chars�tagsr	r	r
�insertR�zUndoDelegator.insertcCs|�t||��dSr)r*�
DeleteCommand�r�index1�index2r	r	r
�deleteUszUndoDelegator.deletecCs |jdkr	t�|_|j��dS�Nr)r!�CommandSequence�
bump_depthrr	r	r
�undo_block_startcs
zUndoDelegator.undo_block_startcCsV|j�d�dkr'|j}d|_t|�dkr)t|�dkr|�d�}|�|d�dSdSdSr)r!r8�len�getcmdr*�r�cmdr	r	r
�undo_block_stophs
�zUndoDelegator.undo_block_stopTcCs�|r|�|j�|jdkr|j�|�dS|jr,|jdkr,|j|jd}|�|�r,dS|g|j|jd�<|j|jkr>d|_|jd|_t	|j�|j
kra|jd=|jd|_|jdkra|jd|_d|_|��dS)NrrrT)�dorr!�appendrrr�mergerr:�max_undor#)rr=�execute�lastcmdr	r	r
r*ts(


zUndoDelegator.addcmdcCsP|jdkr|��dS|j|jd}|�|j�|jd|_d|_|��dS)NrrrF)r�bellr�undorrr#�rrr=r	r	r
r�s
zUndoDelegator.undo_eventcCsR|jt|j�kr|��dS|j|j}|�|j�|jd|_d|_|��dS)NrrF)rr:rrE�redorrr#rGr	r	r
r�szUndoDelegator.redo_eventr)T)�__name__�
__module__�__qualname__rBrr
rrr"rr%r'r r#r/r5r9r>r*rrr	r	r	r
rs&



rc@sReZdZdZddd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�ZdS)�CommandNcCs0i|_i|_||_||_||_|r||_dSdSr)�marks_before�marks_afterr3r4r-r.)rr3r4r-r.r	r	r
r�s
�zCommand.__init__cCs>|jj}|j|j|j|jf}|jdur|dd�}|t|�S)Nr)�	__class__rIr3r4r-r.�repr)r�s�tr	r	r
�__repr__�s

zCommand.__repr__cC�dSrr	�r�textr	r	r
r?��z
Command.docCrTrr	rUr	r	r
rH�rWzCommand.redocCrTrr	rUr	r	r
rF�rWzCommand.undocCsdSr6r	r<r	r	r
rA�rWz
Command.mergecCs4i}|��D]}|dkr|dkr|�|�||<q|S)Nr/�current)�
mark_namesr,)rrV�marks�namer	r	r
�
save_marks�s�zCommand.save_markscCs"|��D]
\}}|�||�qdSr)�items�mark_set)rrVrZr[r,r	r	r
�	set_marks�s�zCommand.set_marksr)rIrJrKr.rrSr?rHrFrAr\r_r	r	r	r
rL�s
	rLc@sNeZdZddd�Zdd�Zdd�Zdd	�Zd
d�Zej	ej
dZd
d�ZdS)r+NcCst�||d||�dSr�rLr)rr3r-r.r	r	r
r�r0zInsertCommand.__init__cCsv|�|�|_|�|j�|_|�|jdd�r|�d�|_|�|j|j|j�|�d|jt|j�f�|_	|�|�|_
dS)N�>�end-1cz%s+%dc)r\rMr,r3�comparer/r-r.r:r4rNrUr	r	r
r?�szInsertCommand.docCs>|�d|j�|�|j|j|j�|�||j�|�d�dS�Nr/)r^r3r/r-r.r_rN�seerUr	r	r
rH�szInsertCommand.redocC�:|�d|j�|�|j|j�|�||j�|�d�dSrd)r^r3r5r4r_rMrerUr	r	r
rF��zInsertCommand.undocCs�|j|jurdS|j|jkrdS|j|jkrdSt|j�dkr!dS|jr4|�|jd�|�|j�kr4dS|j|_|j|j|_dS)NFrrT)rOr4r3r.r:r-�classifyr<r	r	r
rA�szInsertCommand.merge�_cCs||jvrdS|dkr
dSdS)N�alphanumeric�
�newline�punctuation)rj)r�cr	r	r
rhs

zInsertCommand.classifyr)
rIrJrKrr?rHrFrA�string�
ascii_letters�digitsrjrhr	r	r	r
r+�s
r+c@s.eZdZd
dd�Zdd�Zdd�Zdd	�ZdS)r1NcCst�|||dd�dSrr`r2r	r	r
rr0zDeleteCommand.__init__cCs�|�|�|_|�|j�|_|jr|�|j�|_n	|�|jd�|_|�|jdd�r/|�d�|_|�|j|j�|_|�|j|j�|�|�|_	dS)Nz +1crarb)
r\rMr,r3r4rc�getr-r5rNrUr	r	r
r?szDeleteCommand.docCrfrd)r^r3r5r4r_rNrerUr	r	r
rHrgzDeleteCommand.redocCrfrd)r^r3r/r-r_rMrerUr	r	r
rF$rgzDeleteCommand.undor)rIrJrKrr?rHrFr	r	r	r
r1s

r1c@sNeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	ddd�Z
dS)r7cCsg|_d|_dSr6)�cmds�depthrr	r	r
r0s
zCommandSequence.__init__cCs>|jj}g}|jD]
}|�d|f�q	|dd�|�dS)Nz    %rz(
z,
z
))rOrIrsr@�join)rrQ�strsr=r	r	r
rS4s

zCommandSequence.__repr__cCs
t|j�Sr)r:rsrr	r	r
�__len__;r(zCommandSequence.__len__cCs|j�|�dSr)rsr@r<r	r	r
r@>szCommandSequence.appendcCs
|j|Sr)rs)r�ir	r	r
r;Ar(zCommandSequence.getcmdcCs|jD]}|�|�qdSr)rsrH)rrVr=r	r	r
rHDs
�zCommandSequence.redocCs.|jdd�}|��|D]}|�|�q
dSr)rs�reverserF)rrVrsr=r	r	r
rFHs
�zCommandSequence.undorcCs|j||_|jSr)rt)r�incrr	r	r
r8NszCommandSequence.bump_depthN)r)rIrJrKrrSrwr@r;rHrFr8r	r	r	r
r7,sr7c
sddlm}m}m}ddlm}||�}|�d�tt|�	��
d�dd��\}}|�	d||df�||d	d
�}|��|��||�}	t
��|	���||d�fdd
�d�}
|
jdd�||d�fdd
�d�}|jdd�||d�fdd
�d�}|jdd�dS)Nr)�Toplevel�Text�Button)�
PercolatorzTest UndoDelegator�+rz+%d+%d��
)�height�Undoc�
��d�Sr)rr	��dr	r
�<lambda>b�
z!_undo_delegator.<locals>.<lambda>)rV�command�left)�side�Redocr�r)rr	r�r	r
r�dr��Dumpcr�r)rr	r�r	r
r�fr�)�tkinterr{r|r}�idlelib.percolatorr~�title�map�int�geometry�split�pack�	focus_setr�insertfilter)
�parentr{r|r}r~�undowin�x�yrV�prFrH�dumpr	r�r
�_undo_delegatorSs$
 
r��__main__)�mainzidlelib.idle_test.test_undo�F)�	verbosity�exit)�run)ro�idlelib.delegatorrrrLr+r1r7r�rI�unittestr��idlelib.idle_test.htestr�r	r	r	r
�<module>s-9$'�

Youez - 2016 - github.com/yon3zu
LinuXploit