Your IP : 216.73.216.213


Current Path : /opt/alt/python38/lib64/python3.8/idlelib/__pycache__/
Upload File :
Current File : //opt/alt/python38/lib64/python3.8/idlelib/__pycache__/iomenu.cpython-38.opt-2.pyc

U

i�ft=�@s�ddlZddlZddlZddlZddlZddlZddlmZddlmZddl	m
Z
ddlZddlm
Z
dZejdkr|dZnd	ZGd
d�d�Zdd
�Zedkr�ddlmZedddd�ddlmZee�dS)�N)�
filedialog)�
messagebox)�	askstring)�idleConf�utf-8Zwin32�
surrogatepass�surrogateescapec@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdZdd
�Z	dZ
dZdd�Zd1dd�Z
ejZdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�ZdZdZd$Zejd%kr�d&nd'Zd(d)�Z d2d+d,�Z!d-d.�Z"d/d0�Z#dS)3�	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)�selfr�r�3/opt/alt/python38/lib64/python3.8/idlelib/iomenu.py�__init__s��zIOBinding.__init__cCsf|j�d|j�|j�d|j�|j�d|j�|j�d|j�|j�d|j�d|_d|_d|_dS)Nr
rrr
r)	rZunbindrrrrrr�filename_change_hook�rrrr�close(szIOBinding.closecCs
|j��S�N)r�	get_savedr"rrrr%4szIOBinding.get_savedcCs|j�|�dSr$)r�	set_saved�r�flagrrrr&7szIOBinding.set_savedcCs|j��dSr$)r�
reset_undor"rrrr):szIOBinding.reset_undoNcCs
||_dSr$)r!)r�hookrrr�set_filename_change_hook?sz"IOBinding.set_filename_change_hookcCsF|rtj�|�rd|_||_n$||_d|_|�d�|jrB|��dS)N�)�os�path�isdir�filename�dirnamer&r!�rr0rrr�set_filenameEs
zIOBinding.set_filenamecCs�|jj}|rt|s|��}n|}|r`|jrTt|jdd�sT|jsT|��rT|�||j�qp|�|�n|jrp|j�	�dS|��r�|�
�}|dkr�|j�	�dS|s�|��}n|}|r�|�|�n
|j�	�dS)N�interp�break�cancel)r�flist�askopenfile�getattrr0r%r�loadfiler�	focus_set�	maybesave)r�eventZeditFiler7r0�replyrrrrPs<
���



zIOBinding.openc	Cs�z�z2t�|��}|��}|j}|j}d}W5QRXWnhttfk
r�|jj�	�t
ddd|jjd�}t||d��}|��}|j}|j}d}W5QRXYnXWnjtk
r�}z tj
dt|�|jd	�WY�dSd}~XYn.tk
�r
tj
d
d||jd	�YdSXt|t��s>|dk	�r8t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�r?zDecoding ErrorzFile %s
Failed to DecodezMixed Newlinesz:Mixed newlines detected.
The file will be changed on save.�1.0�end�insert)�tokenizer�readr@�newlines�UnicodeDecodeError�SyntaxErrorrr�updater�OSErrorr�	showerror�str�
isinstance�showwarningr-�linesep�deleter3r�eol_conventionrEr)r&Zmark_setZyview�updaterecentfileslist)	rr0�f�charsrrSZ	converted�enc�errrrrr:~sd��
�



zIOBinding.loadfilecCsp|��rdSd|jpd}tjd|tj|jd�}|rPd}|�d�|��sbd}n|dkr^d}nd}|j��|S)NZyesz&Do you want to save %s before closing?zthis untitled documentz
Save On Close��title�message�defaultr?r6Zno)r%r0rZaskyesnocancelZYESrrr;)rr[�confirmr>rrrr<�s*��

zIOBinding.maybesavecCsZ|js|�|�n:|�|j�rL|�d�z|j��Wntk
rJYnX|j��dS)NTr5)	r0r�	writefiler&r�store_file_breaks�AttributeErrorrr;�rr=rrrr�s

zIOBinding.savecCsf|��}|rN|�|�rN|�|�|�d�z|j��Wntk
rLYnX|j��|�	|�dS)Nr,r5)
�asksavefiler^r3r&rr_r`rr;rT�rr=r0rrrr�s




zIOBinding.save_ascCs.|��}|r|�|�|j��|�|�dS)Nr5)rbr^rr;rTrcrrrr�s


zIOBinding.save_a_copyc
Cs�|��}|�|�}z<t|d��&}|�|�|��t�|���W5QRXWdStk
r�}z t	j
dt|�|jd�WY�dSd}~XYnXdS)N�wbTrArBF)
�fixnewlines�encoder�write�flushr-�fsync�filenorLrrMrNr)rr0rrVrU�msgrrrr^�s

�zIOBinding.writefilecCsT|j�d�dkr*t|jd�s*|j�dd�|j�dd�}|jdkrP|�d|j�}|S)Nzend-2c�
r4zend-1crC)r�get�hasattrrrErS�replace�rrrrrres
�
zIOBinding.fixnewlinesc
Cs�t|t�r|S|jdkr"|�d�Sz|�d�WStk
rBYnXz.|�dd�}t�t�|�j	�\}}|�|�WSt
k
r�}zt|�}W5d}~XYntk
r�d|}YnXtj
dd||jd�|�d�S)Nz	utf-8-sig�asciirozInvalid encoding '%s'rAz%s.
Saving as UTF-8rB)rO�bytesrrf�UnicodeEncodeErrorrF�detect_encoding�io�BytesIO�readlinerJrNrrMr)rrVZencodedrW�_rXZfailedrrrrf
s,


�zIOBinding.encodecCsdtjddtj|jd�}|s(|j��dSd}|��}|r>|j}|rJ|dkr�tjdd�\}}|}t	�
|�|�|�s�t	�|�dSt	j
}d}|dkr�t�d	d
d�}	|	d}	n|d
kr�t�d	d
d�}	nd}|�r6|	t�|�}	t	�|	d�}
|
����}|
�
�}|�rd||}|�rPdt|	�|}tjd||jd�nd|}
tjd|
|jd�|�r`t	�|�dS)NZPrintzPrint to Default PrinterrYr5Z	IDLE_tmp_)�prefixT�posix�mainZGeneralzprint-command-posixz 2>&1�ntzprint-command-winF�rz#Printing failed (exit status 0x%x)
zPrinting command: %s
zPrint statusrBz-Printing is not enabled for this platform: %s)rZaskokcancelZOKrr;r%r0�tempfileZmkstempr-r#r^�unlink�namerZ	GetOption�shlexZquote�popenrG�strip�reprrMZshowinfo)rr=r]ZtempfilenameZsavedr0Ztfd�platformZ
printPlatformZcommand�pipe�outputZstatusr[rrrr)sb�



�
��
zIOBinding.print_window))zPython filesz
*.py *.pyw�TEXT)z
Text filesz*.txtr�)z	All files�*�darwinz.py�cCs<|�d�\}}|js(tj|j|jd�|_|jj||d�}|S)Nr)r?�	filetypes�Z
initialdirZinitialfile)�defaultfilename�
opendialogrZOpenrr��show�r�dir�baser0rrrr8fs�zIOBinding.askopenfilercCsV|jrtj�|j�S|jr$|jdfSzt��}Wntk
rHd}YnX|dfSdS)Nr�)r0r-r.�splitr1�getcwdrL)r�mode�pwdrrrr�ns

zIOBinding.defaultfilenamecCs@|�d�\}}|js,tj|j|j|jd�|_|jj||d�}|S)Nr)r?r��defaultextensionr�)r��
savedialogrZSaveAsrr�r�r�r�rrrrbzs�zIOBinding.asksavefilecCs|jjr|j�|�dSr$)rr7Zupdate_recent_files_listr2rrrrT�szIOBinding.updaterecentfileslist)NN)r)$�__name__�
__module__�__qualname__r r#r%r&r)r!r+r0r1r3rr-rQrSr:r<rrrr^rerfrr�r�r��sysr�r�r8r�rbrTrrrrr	s:
,;

2

r	c	Cs�ddlm}m}||�}|�d�tt|���d�dd��\}}|�d||df�Gdd	�d	�}||�}|��|�	�||�}t
|�dS)
Nr)�Toplevel�TextzTest IOBinding�+r,z+%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>)rr7rr�printr�saveas�savecopyrprrrr �sz'_io_binding.<locals>.MyEditWin.__init__cSsdS)Nrrr"rrrr%��z(_io_binding.<locals>.MyEditWin.get_savedcSsdSr$rr'rrrr&�r�z(_io_binding.<locals>.MyEditWin.set_savedcSsdSr$rr"rrrr)�r�z)_io_binding.<locals>.MyEditWin.reset_undocSs|j�d�dS)Nr
�rZevent_generaterarrrr�sz#_io_binding.<locals>.MyEditWin.opencSs|j�d�dS)Nrr�rarrrr��sz$_io_binding.<locals>.MyEditWin.printcSs|j�d�dS)Nrr�rarrrr�sz#_io_binding.<locals>.MyEditWin.savecSs|j�d�dS)Nrr�rarrrr��sz%_io_binding.<locals>.MyEditWin.saveascSs|j�d�dS)Nr
r�rarrrr��sz'_io_binding.<locals>.MyEditWin.savecopyN)r�r�r�r r%r&r)rr�rr�r�rrrr�	MyEditWin�sr�)�tkinterr�r�rZ�map�intZgeometryr�Zpackr;r	)	r?r�r��root�x�yr�rrrrr�_io_binding�s
 r��__main__)r{zidlelib.idle_test.test_iomenu�F)�	verbosity�exit)�run)rur-r�r�r~rFr�rrZtkinter.simpledialogrZidlelibZidlelib.configrr@r��errorsr	r�r�Zunittestr{Zidlelib.idle_test.htestr�rrrr�<module>s.
t$