Your IP : 216.73.216.85


Current Path : /opt/alt/python39/lib64/python3.9/idlelib/__pycache__/
Upload File :
Current File : //opt/alt/python39/lib64/python3.9/idlelib/__pycache__/iomenu.cpython-39.opt-2.pyc

a

XC?h�=�@s�ddlZddlZddlZddlZddlZddlZddlmZddlmZddl	m
Z
ddlZddlm
Z
ddlmZd�dd	�eD��Zd
Zejdkr�dZnd
ZGdd�d�Zdd�Zedkr�ddlmZedddd�ddlmZee�dS)�N)�
filedialog)�
messagebox)�	askstring)�idleConf)�
py_extensions� ccs|]}d|VqdS)�*N�)�.0Zextr	r	�3/opt/alt/python39/lib64/python3.9/idlelib/iomenu.py�	<genexpr>�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(kr�d)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+szIOBinding.closecCs
|j��S�N)r�	get_savedr(r	r	rr+7szIOBinding.get_savedcCs|j�|�dSr*)r�	set_saved�r%�flagr	r	rr,:szIOBinding.set_savedcCs|j��dSr*)r�
reset_undor(r	r	rr/=szIOBinding.reset_undoNcCs
||_dSr*)r')r%�hookr	r	r�set_filename_change_hookBsz"IOBinding.set_filename_change_hookcCsF|rtj�|�rd|_||_n$||_d|_|�d�|jrB|��dS)N�)�os�path�isdir�filename�dirnamer,r'�r%r6r	r	r�set_filenameHs
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�getattrr6r+r�loadfiler�	focus_set�	maybesave)r%�eventZeditFiler=r6�replyr	r	rrSs<
���



zIOBinding.openc	Cs�z�zFt�|��(}|��}|j}|j}d}Wd�n1s<0YWnzttfy�|jj�	�t
ddd|jjd�}t||d��(}|��}|j}|j}d}Wd�n1s�0YYn0Wnht�y}z$tj
dt|�|jd	�WYd}~dSd}~0t�y.tj
d
d||jd	�YdS0t|t��sb|du�r\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�rEzDecoding ErrorzFile %s
Failed to DecodezMixed Newlinesz:Mixed newlines detected.
The file will be changed on save.�1.0�end�insert)�tokenizer�readrF�newlines�UnicodeDecodeError�SyntaxErrorrr�updater�OSErrorr�	showerror�str�
isinstance�showwarningr3�linesep�deleter9r"�eol_conventionrKr/r,Zmark_setZyview�updaterecentfileslist)	r%r6�f�charsr"rYZ	converted�enc�errr	r	rr@�sd&�,�
�



zIOBinding.loadfilecCsp|��rdSd|jpd}tjd|tj|jd�}|rPd}|�d�|��sbd}n|dur^d}nd}|j��|S)NZyesz&Do you want to save %s before closing?zthis untitled documentz
Save On Close��title�message�defaultrEr<Zno)r+r6rZaskyesnocancelZYESrrrA)r%ra�confirmrDr	r	rrB�s*��

zIOBinding.maybesavecCsX|js|�|�n8|�|j�rJ|�d�z|j��WntyHYn0|j��dS)NTr;)	r6r�	writefiler,r�store_file_breaks�AttributeErrorrrA�r%rCr	r	rr�s

zIOBinding.savecCsd|��}|rL|�|�rL|�|�|�d�z|j��WntyJYn0|j��|�	|�dS)Nr2r;)
�asksavefilerdr9r,rrerfrrArZ�r%rCr6r	r	rr�s




zIOBinding.save_ascCs.|��}|r|�|�|j��|�|�dS)Nr;)rhrdrrArZrir	r	rr �s


zIOBinding.save_a_copyc
Cs�|��}|�|�}zPt|d��0}|�|�|��t�|���Wd�n1sT0YWdSty�}z$t	j
dt|�|jd�WYd}~dSd}~00dS)N�wbTrGrHF)
�fixnewlines�encoder�write�flushr3�fsync�filenorRrrSrTr)r%r6rr\r[�msgr	r	rrd�s

,�zIOBinding.writefilecCsT|j�d�dkr*t|jd�s*|j�dd�|j�dd�}|jdkrP|�d|j�}|S)Nzend-2c�
r:zend-1crI)r�get�hasattrrrKrY�replace�r%rr	r	rrks
�
zIOBinding.fixnewlinesc
Cs�t|t�r|S|jdkr"|�d�Sz|�d�WSty@Yn0z.|�dd�}t�t�|�j	�\}}|�|�WSt
y�}zt|�}WYd}~n"d}~0ty�d|}Yn0tj
dd||jd�|�d�S)Nz	utf-8-sig�asciiruzInvalid encoding '%s'rGz%s.
Saving as UTF-8rH)rU�bytesr"rl�UnicodeEncodeErrorrL�detect_encoding�io�BytesIO�readlinerPrTrrSr)r%r\Zencodedr]�_r^Zfailedr	r	rrl
s,


�zIOBinding.encodecCsdtjddtj|jd�}|s(|j��dSd}|��}|r>|j}|rJ|dur�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 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 statusrHz-Printing is not enabled for this platform: %s)rZaskokcancelZOKrrAr+r6�tempfileZmkstempr3r)rd�unlink�namerZ	GetOption�shlexZquote�popenrM�strip�reprrSZshowinfo)r%rCrcZtempfilenameZsavedr6Ztfd�platformZ
printPlatformZcommand�pipe�outputZstatusrar	r	rr#,sb�



�
��
zIOBinding.print_windowzPython files�TEXT)z
Text filesz*.txtr�)z	All filesr�darwinz.py�cCs<|�d�\}}|js(tj|j|jd�|_|jj||d�}|S)Nr)rE�	filetypes�Z
initialdirZinitialfile)�defaultfilename�
opendialogrZOpenrr��show�r%�dir�baser6r	r	rr>is�zIOBinding.askopenfilercCsT|jrtj�|j�S|jr$|jdfSzt��}WntyFd}Yn0|dfSdS)Nr�)r6r3r4�splitr7�getcwdrR)r%�mode�pwdr	r	rr�qs

zIOBinding.defaultfilenamecCs@|�d�\}}|js,tj|j|j|jd�|_|jj||d�}|S)Nr)rEr��defaultextensionr�)r��
savedialogrZSaveAsrr�r�r�r�r	r	rrh}s�zIOBinding.asksavefilecCs|jjr|j�|�dSr*)rr=Zupdate_recent_files_listr8r	r	rrZ�szIOBinding.updaterecentfileslist)NN)r)%�__name__�
__module__�__qualname__r&r)r+r,r/r'r1r6r7r9rr3rWrYr@rBrrr rdrkrlr#r�r�rr��sysr�r�r>r�rhrZr	r	r	rrs@
,;

2�

rc	Cs�ddlm}m}||�}|�d�tt|���d�dd��\}}|�d||df�Gdd	�d	�}||�}|��|�	�||�}t
|�dS)
Nr)�Toplevel�TextzTest IOBinding�+r2z+%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�savecopyrvr	r	rr&�sz'_io_binding.<locals>.MyEditWin.__init__cSsdS)Nrr	r(r	r	rr+�r
z(_io_binding.<locals>.MyEditWin.get_savedcSsdSr*r	r-r	r	rr,�r
z(_io_binding.<locals>.MyEditWin.set_savedcSsdSr*r	r(r	r	rr/�r
z)_io_binding.<locals>.MyEditWin.reset_undocSs|j�d�dS)Nr�rZevent_generatergr	r	rr�sz#_io_binding.<locals>.MyEditWin.opencSs|j�d�dS)Nrr�rgr	r	rr��sz$_io_binding.<locals>.MyEditWin.printcSs|j�d�dS)Nrr�rgr	r	rr�sz#_io_binding.<locals>.MyEditWin.savecSs|j�d�dS)Nrr�rgr	r	rr��sz%_io_binding.<locals>.MyEditWin.saveascSs|j�d�dS)Nrr�rgr	r	rr��sz'_io_binding.<locals>.MyEditWin.savecopyN)r�r�r�r&r+r,r/rr�rr�r�r	r	r	r�	MyEditWin�sr�)�tkinterr�r�r`�map�intZgeometryr�ZpackrAr)	rEr�r��root�x�yr�rrr	r	r�_io_binding�s
 r��__main__)r�zidlelib.idle_test.test_iomenu�F)�	verbosity�exit)�run)r{r3r�r�r�rLr�rrZtkinter.simpledialogrZidlelibZidlelib.configrZidlelib.utilr�joinrFr��errorsrr�r�Zunittestr�Zidlelib.idle_test.htestr�r	r	r	r�<module>s2
t$