Your IP : 216.73.216.196


Current Path : /opt/alt/python310/lib64/python3.10/idlelib/__pycache__/
Upload File :
Current File : //opt/alt/python310/lib64/python3.10/idlelib/__pycache__/iomenu.cpython-310.pyc

o

0�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�)�.0Zextr	r	�5/opt/alt/python310/lib64/python3.10/idlelib/iomenu.py�	<genexpr>s�r�utf-8Zwin32�
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)	rZunbindrrrr r#r�filename_change_hook�r$r	r	r�close%s
zIOBinding.closecCs
|j��S�N)r�	get_savedr'r	r	rr*1�
zIOBinding.get_savedcCs|j�|�dSr))r�	set_saved�r$�flagr	r	rr,4�zIOBinding.set_savedcCs|j��dSr))r�
reset_undor'r	r	rr07szIOBinding.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$r7r	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�getattrr7r*r�loadfiler�	focus_set�	maybesave)r$�eventZeditFiler>r7�replyr	r	rrMsB
���
��




�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�rFzDecoding ErrorzFile %s
Failed to DecodezMixed Newlinesz:Mixed newlines detected.
The file will be changed on save.�1.0�end�insert)�tokenizer�readrG�newlines�UnicodeDecodeError�SyntaxErrorrr�updater�OSErrorr�	showerror�str�
isinstance�showwarningr4�linesep�deleter:r!�eol_conventionrLr0r,Zmark_setZyview�updaterecentfileslist)	r$r7�f�charsr!rZZ	converted�enc�errr	r	rrA{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�defaultrFr=Zno)r*r7rZaskyesnocancelZYESrrrB)r$rb�confirmrEr	r	rrC�s,��
�
zIOBinding.maybesavecCsX|js	|�|�n|�|j�r%|�d�z|j��Wn	ty$Ynw|j��dS)NTr<)	r7r�	writefiler,r�store_file_breaks�AttributeErrorrrB�r$rDr	r	rr�s
�
zIOBinding.savecCsd|��}|r&|�|�r&|�|�|�d�z|j��Wn	ty%Ynw|j��|�	|�dS)Nr3r<)
�asksavefilerer:r,rrfrgrrBr[�r$rDr7r	r	rr�s


�

zIOBinding.save_ascCs.|��}|r|�|�|j��|�|�dS)Nr<)rirerrBr[rjr	r	rr�s


zIOBinding.save_a_copyc
Cs�|��}|�|�}z*t|d��}|�|�|��t�|���Wd�WdS1s,wYWdStyQ}zt	j
dt|�|jd�WYd}~dSd}~ww)N�wbTrHrIF)
�fixnewlines�encoder�write�flushr4�fsync�filenorSrrTrUr)r$r7rr]r\�msgr	r	rre�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;rJzend-1czend-2c�
)	�hasattrrZget_prompt_textr�index�getrLrZ�replace�r$rr	r	rrl�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�asciirwzInvalid encoding '%s'rHz%s.
Saving as UTF-8rI)rV�bytesr!rm�UnicodeEncodeErrorrM�detect_encoding�io�BytesIO�readlinerQrUrrTr)r$r]Zencodedr^�_r_Zfailedr	r	rrm
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 Printerr`r<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 statusrIz-Printing is not enabled for this platform: %s)rZaskokcancelZOKrrBr*r7�tempfileZmkstempr4r(re�unlink�namerZ	GetOption�shlexZquote�popenrN�strip�reprrTZshowinfo)r$rDrdZtempfilenameZsavedr7Ztfd�platformZ
printPlatformZcommand�pipe�outputZstatusrbr	r	rr",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)rF�	filetypes�Z
initialdirZinitialfile)�defaultfilename�
opendialogrZOpenrr��show�r$�dir�baser7r	r	rr?is�zIOBinding.askopenfilercCsT|jr
tj�|j�S|jr|jdfSz	t��}W|dfSty)d}Y|dfSw)Nr�)r7r4r5�splitr8�getcwdrS)r$�mode�pwdr	r	rr�qs

��zIOBinding.defaultfilenamecCs@|�d�\}}|jstj|j|j|jd�|_|jj||d�}|S)Nr)rFr��defaultextensionr�)r��
savedialogrZSaveAsrr�r�r�r�r	r	rri}s�zIOBinding.asksavefilecCs|jjr|j�|�dSdS)z-Update recent file list on all editor windowsN)rr>Zupdate_recent_files_listr9r	r	rr[�s�zIOBinding.updaterecentfileslist)NN)r)%�__name__�
__module__�__qualname__r%r(r*r,r0r&r2r7r8r:rr4rXrZrArCrrrrerlrmr"r�r�rr��sysr�r�r?r�rir[r	r	r	rrsB
,;
2�

rc	Cs�ddlm}m}||�}|�d�tt|���d�dd��\}}|�d||df�Gdd	�d	�}||�}|��|�	�||�}t
|�dS)
Nr)�Toplevel�TextzTest IOBinding�+r3z+%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�savecopyrxr	r	rr%�sz'_io_binding.<locals>.MyEditWin.__init__cSsdS)Nrr	r'r	r	rr*��z(_io_binding.<locals>.MyEditWin.get_savedcS�dSr)r	r-r	r	rr,�r�z(_io_binding.<locals>.MyEditWin.set_savedcSr�r)r	r'r	r	rr0�r�z)_io_binding.<locals>.MyEditWin.reset_undocS�|j�d�dS)Nr�rZevent_generaterhr	r	rr�r/z#_io_binding.<locals>.MyEditWin.opencSr�)Nrr�rhr	r	rr��r/z$_io_binding.<locals>.MyEditWin.printcSr�)Nrr�rhr	r	rr�r/z#_io_binding.<locals>.MyEditWin.savecSr�)Nrr�rhr	r	rr��r/z%_io_binding.<locals>.MyEditWin.saveascSr�)Nrr�rhr	r	rr��r/z'_io_binding.<locals>.MyEditWin.savecopyN)r�r�r�r%r*r,r0rr�rr�r�r	r	r	r�	MyEditWin�sr�)�tkinterr�r�ra�map�intZgeometryr�ZpackrBr)	rFr�r��root�x�yr�rrr	r	r�_io_binding�s
 r��__main__)r�zidlelib.idle_test.test_iomenu�F)�	verbosity�exit)�run)r}r4r�r�r�rMr�rrZtkinter.simpledialogrZidlelib.configrZidlelib.utilr�joinrGr��errorsrr�r�Zunittestr�Zidlelib.idle_test.htestr�r	r	r	r�<module>s0z$�