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

�ic>�@s�ddlZddlZddlZddlZddlZddlZddlmZddlmZddl	m
Z
ddlmZddl
mZd�dd	�eD��Zd
ZejdkrIdnd
ZGdd�d�Zdd�ZedkrsddlmZedddd�ddlmZee�dSdS)�N)�
filedialog)�
messagebox)�	askstring)�idleConf)�
py_extensions� ccs�|]}d|VqdS)�*N�)�.0�extr	r	�+/usr/local/lib/python3.10/idlelib/iomenu.py�	<genexpr>s�r
�utf-8�win32�
surrogatepass�surrogateescapec@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdZdd
�Z	dZ
dZdd�Zd4dd�Z
ejZdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�ZdZdZd$ed%fd&d'fZejd(kred)nd*Z d+d,�Z!d5d.d/�Z"d0d1�Z#d2d3�Z$dS)6�	IOBindingcCsr||_|j|_|j�d|j�|_|j�d|j�|_|j�d|j�|_|j�d|j	�|_
d|_|j�d|j�|_
dS)N�<<open-window-from-file>>�<<save-window>>�<<save-window-as-file>>�<<save-copy-of-window-as-file>>r�<<print-window>>)�editwin�text�bind�open�_IOBinding__id_open�save�_IOBinding__id_save�save_as�_IOBinding__id_saveas�save_a_copy�_IOBinding__id_savecopy�fileencoding�print_window�_IOBinding__id_print)�selfrr	r	r�__init__s��zIOBinding.__init__cCsf|j�d|j�|j�d|j�|j�d|j�|j�d|j�|j�d|j�d|_d|_d|_dS)Nrrrrr)	rZunbindrrr r"r%r�filename_change_hook�r&r	r	r�close%s
zIOBinding.closecCs
|j��S�N)r�	get_savedr)r	r	rr,1�
zIOBinding.get_savedcCs|j�|�dSr+)r�	set_saved�r&�flagr	r	rr.4�zIOBinding.set_savedcCs|j��dSr+)r�
reset_undor)r	r	rr27szIOBinding.reset_undoNcCs
||_dSr+)r()r&�hookr	r	r�set_filename_change_hook<r-z"IOBinding.set_filename_change_hookcCsL|rtj�|�rd|_||_dS||_d|_|�d�|jr$|��dSdS)N�)�os�path�isdir�filename�dirnamer.r(�r&r9r	r	r�set_filenameBs

�zIOBinding.set_filenamecCs�|jj}|r<|s
|��}n|}|r2|jr+t|jdd�s+|js+|��r+|�||j�dS|�|�dS|jr:|j�	�dS|��rO|�
�}|dkrO|j�	�dS|sV|��}n|}|ra|�|�dS|j�	�dS)N�interp�break�cancel)r�flist�askopenfile�getattrr9r,r�loadfiler�	focus_set�	maybesave)r&�eventZeditFiler@r9�replyr	r	rrMsB
���
��




�zIOBinding.openc	Cs�zcz#t�|��}|��}|j}|j}d}Wd�n1swYWn=ttfya|jj�	�t
ddd|jjd�}t||d��}|��}|j}|j}d}Wd�n1sZwYYnwWn2ty�}ztj
dt|�|jd	�WYd}~dSd}~wty�tj
d
d||jd	�YdSwt|t�s�|dur�tjdd
|jd	�d}tj}|j�dd�|�d�||_||_|j�d|�|��|�|�|r�|�d�|j�dd�|j�d�|�|�dS)NFzSpecify file encodingzwThe file's encoding is invalid for Python 3.x.
IDLE will convert it to UTF-8.
What is the current encoding of the file?r)Zinitialvalue�parent)�encodingT�	I/O Error�rHzDecoding ErrorzFile %s
Failed to DecodezMixed Newlinesz:Mixed newlines detected.
The file will be changed on save.�1.0�end�insert)�tokenizer�readrI�newlines�UnicodeDecodeError�SyntaxErrorrr�updater�OSErrorr�	showerror�str�
isinstance�showwarningr6�linesep�deleter<r#�eol_conventionrNr2r.Zmark_setZyview�updaterecentfileslist)	r&r9�f�charsr#r\Z	converted�enc�errr	r	rrC{st����������
�



zIOBinding.loadfilecCsp|��rdSd|jpd}tjd|tj|jd�}|r(d}|�d�|��s'd}n	|dur/d}nd}|j��|S)NZyesz&Do you want to save %s before closing?zthis untitled documentz
Save On Close��title�message�defaultrHr?�no)r,r9rZaskyesnocancelZYESrrrD)r&rd�confirmrGr	r	rrE�s,��
�
zIOBinding.maybesavecCsX|js	|�|�n|�|j�r%|�d�z|j��Wn	ty$Ynw|j��dS)NTr>)	r9r�	writefiler.r�store_file_breaks�AttributeErrorrrD�r&rFr	r	rr�s
�
zIOBinding.savecCsd|��}|r&|�|�r&|�|�|�d�z|j��Wn	ty%Ynw|j��|�	|�dS)Nr5r>)
�asksavefilerhr<r.rrirjrrDr]�r&rFr9r	r	rr�s


�

zIOBinding.save_ascCs.|��}|r|�|�|j��|�|�dS)Nr>)rlrhrrDr]rmr	r	rr!�s


zIOBinding.save_a_copyc
Cs�|��}|�|�}z*t|d��}|�|�|��t�|���Wd�WdS1s,wYWdStyQ}zt	j
dt|�|jd�WYd}~dSd}~ww)N�wbTrJrKF)
�fixnewlines�encoder�write�flushr6�fsync�filenorUrrVrWr)r&r9rr_r^�msgr	r	rrh�s$


�����zIOBinding.writefilecCslt|jd�r|j�d|j�d��}n|j�d�dkr!|j�dd�|j�dd�}|jdkr4|�d|j�}|S)zYReturn text with os eols.

        Add prompts if shell else final 
 if missing.
        r=rLzend-1czend-2c�
)	�hasattrrZget_prompt_textr�index�getrNr\�replace�r&rr	r	rro�s
zIOBinding.fixnewlinesc
Cs�t|t�r|S|jdkr|�d�Sz|�d�WSty Ynwz|�dd�}t�t�|�j	�\}}|�|�WSt
yN}z
t|�}WYd}~nd}~wtyZd|}Ynwtj
dd||jd�|�d�S)Nz	utf-8-sig�asciirzzInvalid encoding '%s'rJz%s.
Saving as UTF-8rK)rX�bytesr#rp�UnicodeEncodeErrorrO�detect_encoding�io�BytesIO�readlinerSrWrrVr)r&r_�encodedr`�_raZfailedr	r	rrp
s2


����
zIOBinding.encodecCs\tjddtj|jd�}|s|j��dSd}|��}|r|j}|r%|dur@tjdd�\}}|}t	�
|�|�|�s@t	�|�dSt	j
}d}|dkrUt�d	d
d�}	|	d}	n|d
krat�d	d
d�}	nd}|r�|	t�|�}	t	�|	d�}
|
����}|
�
�}|r�d||}|r�dt|	�|}tjd||jd�n
d|}
tjd|
|jd�|r�t	�|�dS)NZPrintzPrint to Default Printerrbr>Z	IDLE_tmp_)�prefixT�posix�mainZGeneralzprint-command-posixz 2>&1�ntzprint-command-winF�rz#Printing failed (exit status 0x%x)
zPrinting command: %s
zPrint statusrKz-Printing is not enabled for this platform: %s)rZaskokcancelZOKrrDr,r9�tempfile�mkstempr6r*rh�unlink�namerZ	GetOption�shlex�quote�popenrP�strip�reprrVZshowinfo)r&rFrgZtempfilenameZsavedr9Ztfd�platformZ
printPlatformZcommand�pipe�output�statusrdr	r	rr$,sd�



�
���
zIOBinding.print_windowzPython files�TEXT)z
Text filesz*.txtr�)z	All filesr�darwinz.py�cCs<|�d�\}}|jstj|j|jd�|_|jj||d�}|S)Nr)rH�	filetypes�Z
initialdirZinitialfile)�defaultfilename�
opendialogrZOpenrr��show�r&�dir�baser9r	r	rrAis�zIOBinding.askopenfilercCsT|jr
tj�|j�S|jr|jdfSz	t��}W|dfSty)d}Y|dfSw)Nr�)r9r6r7�splitr:�getcwdrU)r&�mode�pwdr	r	rr�qs

��zIOBinding.defaultfilenamecCs@|�d�\}}|jstj|j|j|jd�|_|jj||d�}|S)Nr)rHr��defaultextensionr�)r��
savedialogrZSaveAsrr�r�r�r�r	r	rrl}s�zIOBinding.asksavefilecCs|jjr|j�|�dSdS)z-Update recent file list on all editor windowsN)rr@Zupdate_recent_files_listr;r	r	rr]�s�zIOBinding.updaterecentfileslist)NN)r)%�__name__�
__module__�__qualname__r'r*r,r.r2r(r4r9r:r<rr6rZr\rCrErrr!rhrorpr$r�r�rr��sysr�r�rAr�rlr]r	r	r	rrsB
,;
2�

rc	Cs�ddlm}m}||�}|�d�tt|���d�dd��\}}|�d||df�Gdd	�d	�}||�}|��|�	�||�}t
|�dS)
Nr)�Toplevel�TextzTest IOBinding�+r5z+%d+%d�c@sTeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�ZdS)z_io_binding.<locals>.MyEditWincSs`||_d|_|j�d|j�|j�d|j�|j�d|j�|j�d|j�|j�d|j�dS)Nz<Control-o>z<Control-p>z<Control-s>z<Alt-s>z<Control-c>)rr@rr�printr�saveas�savecopyr{r	r	rr'�sz'_io_binding.<locals>.MyEditWin.__init__cSsdS)Nrr	r)r	r	rr,��z(_io_binding.<locals>.MyEditWin.get_savedcS�dSr+r	r/r	r	rr.�r�z(_io_binding.<locals>.MyEditWin.set_savedcSr�r+r	r)r	r	rr2�r�z)_io_binding.<locals>.MyEditWin.reset_undocS�|j�d�dS)Nr�rZevent_generaterkr	r	rr�r1z#_io_binding.<locals>.MyEditWin.opencSr�)Nrr�rkr	r	rr��r1z$_io_binding.<locals>.MyEditWin.printcSr�)Nrr�rkr	r	rr�r1z#_io_binding.<locals>.MyEditWin.savecSr�)Nrr�rkr	r	rr��r1z%_io_binding.<locals>.MyEditWin.saveascSr�)Nrr�rkr	r	rr��r1z'_io_binding.<locals>.MyEditWin.savecopyN)r�r�r�r'r,r.r2rr�rr�r�r	r	r	r�	MyEditWin�sr�)�tkinterr�r�rc�map�intZgeometryr��packrDr)	rHr�r��root�x�yr�rrr	r	r�_io_binding�s
 r��__main__)r�zidlelib.idle_test.test_iomenu�F)�	verbosity�exit)�run)r�r6r�r�r�rOr�rrZtkinter.simpledialogrZidlelib.configrZidlelib.utilr�joinrIr��errorsrr�r�Zunittestr�Zidlelib.idle_test.htestr�r	r	r	r�<module>s0z$�