Your IP : 18.225.54.199


Current Path : /opt/alt/python35/lib64/python3.5/idlelib/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib64/python3.5/idlelib/__pycache__/IOBinding.cpython-35.opt-2.pyc



���]wP�@s�ddlZddlmZddlZddlZddlZddlZddlZddljZ	ddl
jZddl
mZddlZddlmZejr�dZnZy#ddlZejejd�Wneejfk
r�YnXdZejdkrCy!ej�d	Zeje�Wnek
r?YnXn�yAejej �ZedkpmedkrvdZeje�Wnue!e"efk
r�y?ej�d	Zedkp�edkr�dZeje�Wne#efk
r�YnXYnXej$�ZeZej%d
ej&�Z'ej%dej&�Z(dd
�Z)Gdd�d�Z*dd�Z+e,dkr�ddl-Z-e-j.ddddd�ddl/m0Z0e0e+�dS)�N)�BOM_UTF8)�	askstring)�idleConfzutf-8��ascii�win32�z&^[ \t\f]*#.*?coding[:=][ \t]*([-\w.]+)z^[ \t\f]*(?:[#\r\n]|$)cCst|t�r!|jd�}n|}d|krR|jdd�dd�}n4d|kr}|jdd�dd�}n	|g}xA|D]5}tj|�}|dk	r�Ptj|�s�dSq�WdS|jd�}ytj	|�Wn"t
k
rt
d|��YnX|S)Nz
iso-8859-1�
��
rzUnknown encoding: )�
isinstance�bytes�decode�split�	coding_re�match�blank_re�group�codecs�lookup�LookupError)�data�linesZlst�liner�name�r�./opt/alt/python35/lib64/python3.5/IOBinding.py�coding_specGs*		

rc@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdZdd
�Z	dZ
dZdd�Zdddd�Z
dZeje�ZejZdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�ZdZdZ d:d;d<gZ!e"j#d.krJd/nd0Z$d1d2�Z%d3d4d5�Z&d6d7�Z'd8d9�Z(dS)=�	IOBindingcCs�||_|j|_|jjd|j�|_|jjd|j�|_|jjd|j�|_|jjd|j	�|_
d|_|jjd|j�|_
dS)Nz<<open-window-from-file>>z<<save-window>>z<<save-window-as-file>>z<<save-copy-of-window-as-file>>z<<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)�selfrrrr�__init__rs		zIOBinding.__init__cCs�|jjd|j�|jjd|j�|jjd|j�|jjd|j�|jjd|j�d|_d|_d|_dS)Nz<<open-window-from-file>>z<<save-window>>z<<save-window-as-file>>z<<save-copy-of-window-as-file>>z<<print-window>>)	r Zunbindr#r%r'r)r,r�filename_change_hook)r-rrr�close~s		zIOBinding.closecCs
|jj�S)N)r�	get_saved)r-rrrr1�szIOBinding.get_savedcCs|jj|�dS)N)r�	set_saved)r-�flagrrrr2�szIOBinding.set_savedcCs|jj�dS)N)r�
reset_undo)r-rrrr4�szIOBinding.reset_undoNcCs
||_dS)N)r/)r-�hookrrr�set_filename_change_hook�sz"IOBinding.set_filename_change_hookcCsc|r-tjj|�r-d|_||_n2||_d|_|jd�|jr_|j�dS)Nr)�os�path�isdir�filename�dirnamer2r/)r-r:rrr�set_filename�s			
	zIOBinding.set_filenamecCs|jj}|r�|s'|j�}n|}|r�|jr~t|jdd�r~|jr~|j�r~|j||j�q�|j|�n|jr�|jj	�dS|j�r�|j
�}|dkr�|jj	�dS|s�|j�}n|}|r|j|�n
|jj	�dS)NZinterp�break�cancel)r�flist�askopenfile�getattrr:r1r"�loadfiler �	focus_set�	maybesave)r-�eventZeditFiler?r:�replyrrrr"�s6	
	


zIOBinding.openz(\r\n)|\n|\rc	Cs�yLt|d��6}|j�|j�}|jd�|j�}WdQRXWnHtk
r�}z(tjdt|�d|j�dSWYdd}~XnX|j	||�\}}|dkr�tjdd|d|j�dS|j
j|�}|r|jd�|_
|j
jd|�}|jjd	d
�|jd�|jjd	|�|j�|j|�|rx|jd�|jjdd	�|jjd�|j|�dS)
N�rbrz	I/O Error�parentFzDecoding ErrorzFile %s
Failed to Decodez\nz1.0�end�insertT)r"�readline�seek�read�OSError�tkMessageBox�	showerror�strr �_decode�eol_re�searchr�eol_convention�sub�deleter<rJr4r2Zmark_setZyview�updaterecentfileslist)	r-r:�f�	two_linesr
�msg�charsZ	convertedZfirsteolrrrrB�s:
	






zIOBinding.loadfilec;Csd}|jt�r^y|dd�jd�}Wntk
rJdSYnXd|_|dfSyt|�}Wnctk
r�}z.tjdddd|d	|j	�d}WYdd}~Xntk
r�dSYnX|ry&t
||�}||_|dfSWntk
rYnXy&t
|d
�}d|_|dfSWntk
rOYnXy&t
|d�}d|_|dfSWntk
r�YnXy]|jj	j�t
ddd
td	|jj	�}|r�t
||�}d|_|dfSWnttfk
rYnXdS)N�zutf-8F�BOM�titlezError loading the file�messagez^The encoding '%s' is not known to this Python installation. The file may not display correctlyrHrzSpecify 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?ZinitialvalueT)NF)NF)NF)�
startswithrr�UnicodeDecodeErrorr*rrrOrPr rQr�updater�encoding)r-rZr
r\�encrrrrrR�sh
		
	

		
	
	
	zIOBinding._decodec	Cs�|j�rdSd|jpd}tjddd|dtjd|j�}|r{d}|jd�|j�s�d	}n|dkr�d	}nd
}|jj�|S)N�yesz&Do you want to save %s before closing?zthis untitled documentr_z
Save On Closer`�defaultrHr>�no)r1r:rOZaskyesnocancelZYESr r$rC)r-r`�confirmrFrrrrD>s&		
		
zIOBinding.maybesavecCso|js|j|�nE|j|j�r^|jd�y|jj�Wntk
r]YnX|jj�dS)NTr=)	r:r&�	writefiler2r�store_file_breaks�AttributeErrorr rC)r-rErrrr$Ts	


zIOBinding.savecCs|j�}|ra|j|�ra|j|�|jd�y|jj�Wntk
r`YnX|jj�|j	|�dS)Nrr=)
�asksavefilerjr<r2rrkrlr rCrX)r-rEr:rrrr&as




zIOBinding.save_ascCs=|j�}|r|j|�|jj�|j|�dS)Nr=)rmrjr rCrX)r-rEr:rrrr(os


zIOBinding.save_a_copycCs�|j�|jjdd�}|jdkrC|jd|j�}|j|�}y.t|d��}|j|�WdQRXdSWnHtk
r�}z(t	j
dt|�d|j�dSWYdd}~XnXdS)	Nz1.0zend-1cr	�wbTz	I/O ErrorrHF)�fixlastliner �getrU�replace�encoder"�writerNrOrPrQ)r-r:r r\rYr[rrrrjws

zIOBinding.writefilec#Cst|t�r|S|jdkr3t|jd�Sy|jd�SWntk
rXYnXyt|�}d}Wn1tk
r�}z|}d}WYdd}~Xn
X|s�d}|r�y|j|�SWntk
r�d|}YnXtj	dd|d|j
�t|jd�S)Nr^zutf-8rzInvalid encoding '%s'z	I/O Errorz%s.
Saving as UTF-8rH)rr
r*rrr�UnicodeErrorrrrOrPr )r-r\reZfailedr[rrrrr�s4




zIOBinding.encodecCs5|jjd�}|dkr1|jjdd�dS)Nzend-2cr	zend-1c)r rprJ)r-�crrrro�szIOBinding.fixlastlinec	Cs�tjdddddtjd|j�}|sA|jj�dSd}|j�}|rb|j}|su|dkr�tjdd	�\}}|}t	j
|�|j|�s�t	j|�dSt	j
}d
}|dkr�tjdd
d�}	|	d}	n*|dkr!tjdd
d�}	nd}|r�|	tj|�}	t	j|	d�}
|
j�j�}|
j
�}|r�d||}|r�dt|	�|}tjd|d|j�n#d|}
tjd|
d|j�|r�t	j|�dS)Nr_ZPrintr`zPrint to Default PrinterrgrHr=�prefixZ	IDLE_tmp_T�posix�mainZGeneralzprint-command-posixz 2>&1�ntzprint-command-winF�rz#Printing failed (exit status 0x%x)
zPrinting command: %s
zPrint statusz-Printing is not enabled for this platform: %s)rOZaskokcancelZOKr rCr1r:�tempfile�mkstempr7r0rj�unlinkrrZ	GetOption�shlex�quote�popenrM�strip�reprrPZshowinfo)r-rEriZtempfilenameZsavedr:Ztfd�platformZ
printPlatformZcommand�pipe�output�statusr`rrrr+�sX		
	

		


zIOBinding.print_window�Python files�
*.py *.pyw�TEXT�
Text files�*.txt�	All files�*�darwinz.pyrcCs^|jd�\}}|js?tjd|jd|j�|_|jjd|d|�}|S)Nr"rH�	filetypes�
initialdir�initialfile)�defaultfilename�
opendialog�tkFileDialogZOpenr r��show)r-�dir�baser:rrrr@�s	zIOBinding.askopenfiler"cCsk|jrtjj|j�S|jr2|jdfSytj�}Wntk
r\d}YnX|dfSdS)Nr)r:r7r8rr;�getcwdrN)r-�mode�pwdrrrr��s		

zIOBinding.defaultfilenamecCsg|jd�\}}|jsHtjd|jd|jd|j�|_|jjd|d|�}|S)Nr$rHr��defaultextensionr�r�)r��
savedialogr�ZSaveAsr r�r�r�)r-r�r�r:rrrrms				zIOBinding.asksavefilecCs |jjr|jj|�dS)N)rr?Zupdate_recent_files_list)r-r:rrrrX
szIOBinding.updaterecentfileslist)r�r�r�)r�r�r�)r�r�))�__name__�
__module__�__qualname__r.r0r1r2r4r/r6r:r;r<r"Zeol�re�compilerSr7�lineseprUrBrRrDr$r&r(rjrrror+r�r�r��sysr�r�r@r�rmrXrrrrrpsD,	$D
'2	
rcCs�ddlm}m}||�}|jd�ttttjd|j	����\}}}}|j	d||df�Gdd�d�}||�}	|	j
�|	j�||	�}
t|
�dS)	Nr)�Toplevel�TextzTest IOBindingz[x+]z+%d+%d�c@s|eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�ZdS)z_io_binding.<locals>.MyEditWincSs�||_d|_|jjd|j�|jjd|j�|jjd|j�|jjd|j�|jjd|j�dS)Nz<Control-o>z<Control-p>z<Control-s>z<Alt-s>z<Control-c>)r r?r!r"�printr$�saveas�savecopy)r-r rrrr.s		z'_io_binding.<locals>.MyEditWin.__init__cSsdS)Nrr)r-rrrr1"sz(_io_binding.<locals>.MyEditWin.get_savedcSsdS)Nr)r-r3rrrr2#sz(_io_binding.<locals>.MyEditWin.set_savedcSsdS)Nr)r-rrrr4$sz)_io_binding.<locals>.MyEditWin.reset_undocSs|jjd�dS)Nz<<open-window-from-file>>)r �event_generate)r-rErrrr"%sz#_io_binding.<locals>.MyEditWin.opencSs|jjd�dS)Nz<<print-window>>)r r�)r-rErrrr�'sz$_io_binding.<locals>.MyEditWin.printcSs|jjd�dS)Nz<<save-window>>)r r�)r-rErrrr$)sz#_io_binding.<locals>.MyEditWin.savecSs|jjd�dS)Nz<<save-window-as-file>>)r r�)r-rErrrr�+sz%_io_binding.<locals>.MyEditWin.saveascSs|jjd�dS)Nz<<save-copy-of-window-as-file>>)r r�)r-rErrrr�-sz'_io_binding.<locals>.MyEditWin.savecopyN)r�r�r�r.r1r2r4r"r�r$r�r�rrrr�	MyEditWinsr�)
�tkinterr�r�r_�list�map�intr�rZgeometry�packrCr)rHr�r��root�widthZheight�x�yr�r rrrr�_io_bindings
3

r��__main__zidlelib.idle_test.test_iomenu�	verbosityr
�exitF)�run)1rrr7r�r~r�r{Ztkinter.filedialogZ
filedialogr�Ztkinter.messageboxZ
messageboxrOZtkinter.simpledialogrZidlelibZidlelib.configHandlerrZtestingrd�locale�	setlocale�LC_CTYPE�ImportError�ErrorZ
locale_decoder��getdefaultlocaleZlocale_encodingrr�nl_langinfo�CODESET�	NameErrorrl�
ValueError�lowerr��ASCIIrrrrr�r�ZunittestrxZidlelib.idle_test.htestr�rrrr�<module>sf		

)��$

?>