Hacked By AnonymousFox

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



$�Yf�-�@s�ddlmZmZddlZddlZddlZddlZddlZddlZddl	m
Z
dd�ZGdd�de
j�Z
d	d
�Zddd�ZdS)
�)�with_statement�print_functionN�)�refactorc	Cs:|j�}|j�}tj||||dddd�S)Nz
(original)z(refactored)Zlineterm�)�
splitlines�difflibZunified_diff)�a�b�filename�r�)/opt/alt/python35/lib64/python3.5/main.py�
diff_textss
	rcsUeZdZddd�fdd�Zdd�Z�fdd�Zdd	�Z�S)
�StdoutRefactoringToolrc		ss||_||_|r8|jtj�r8|tj7}||_||_||_tt	|�j
|||�dS)N)�	nobackups�
show_diffs�endswith�os�sep�_input_base_dir�_output_dir�_append_suffix�superr�__init__)	�selfZfixers�options�explicitrr�input_base_dir�
output_dir�
append_suffix)�	__class__rr
r$s		
			zStdoutRefactoringTool.__init__cOs3|jj|||f�|jj|||�dS)N)�errors�append�logger�error)r�msg�args�kwargsrrr
�	log_errorAszStdoutRefactoringTool.log_errorc
!s�|}|jrh|j|j�rOtjj|j|t|j�d��}ntd||jf��|jr~||j7}||kr�tjj	|�}tjj
|�s�tj|�|jd||�|j
s�|d}tjj|�r<ytj|�Wn5tk
r;}z|jd|�WYdd}~XnXytj||�Wn8tk
r�}z|jd||�WYdd}~XnXtt|�j}	|	||||�|j
s�tj||�||kr�tj||�dS)Nz5filename %s does not start with the input_base_dir %szWriting converted %s to %s.z.bakzCan't remove backup %szCan't rename %s to %s)r�
startswithrr�path�join�len�
ValueErrorr�dirname�isdir�makedirs�log_messager�lexists�remove�OSError�renamerr�
write_file�shutil�copymode)
rZnew_textrZold_text�encodingZ
orig_filenamerZbackup�err�write)r rr
r6Es@		

	
#&	z StdoutRefactoringTool.write_filecCs�|r|jd|�n�|jd|�|jr�t|||�}yj|jdk	r�|j�-x|D]}t|�qgWtjj�WdQRXnx|D]}t|�q�WWn'tk
r�t	d|f�dSYnXdS)NzNo changes to %sz
Refactored %sz+couldn't encode %s's diff for your terminal)
r1rrZoutput_lock�print�sys�stdout�flush�UnicodeEncodeError�warn)r�old�newrZequalZ
diff_lines�linerrr
�print_outputls"	



z"StdoutRefactoringTool.print_output)�__name__�
__module__�__qualname__rr(r6rErr)r r
rs'rcCstd|fdtj�dS)NzWARNING: %s�file)r<r=�stderr)r%rrr
rA�srAcs�tjdd�}|jdddddd�|jd	d
dddgdd
�|jdddddddddd�|jdddddgdd�|jdddddd�|jdddddd�|jdddddd �|jd!dddd"�|jd#d$dddd%�|jd&d'dddd(dd)�|jd*d+dddd,dd-dd.�|jd/d0dddd1�|jd2dddd,dd-dd3�d(}i}|j|�\}}|jr�d4|d5<|js�td6�d4|_|jr|jr|j	d7�|j
r>|jr>|j	d8�|jr[|jr[td9�|jr{|jr{|j	d:�|jr�t
d;�x!tj��D]}t
|�q�W|s�d<S|s�t
d=d>tj�t
d?d>tj�d@SdA|krd4}|jrt
dBd>tj�d@S|jr1d4|dC<|jrCtjntj}gtj_tjdDdEdF|�tjdG�}ttj���}	t�fdHdI�|jD��}
t�}|jr(d(}x;|jD]0}
|
dJkr�d4}q�|j�dK|
�q�W|r|	j |�n|}n|	j |�}|j!|
�}t"j#j$|�}|r�|j%t"j&�r�t"j#j'|�r�t"j#j(|�}|jr�|j)t"j&�}|j*dL|j|�t+t,|�|t,|�|j|jdM|dN|jdO|j
�}|j-s�|r&|j.�nRy#|j||j|j/|j0�Wn,tj1k
rwt
dPd>tj�dSYnX|j2�t3t4|j-��S)QN�usagez2to3 [options] file|dir ...z-dz--doctests_only�action�
store_true�helpzFix up doctests onlyz-fz--fixr"�defaultz1Each FIX specifies a transformation; default: allz-jz--processes�storer�type�intzRun 2to3 concurrentlyz-xz--nofixz'Prevent a transformation from being runz-lz--list-fixeszList available transformationsz-pz--print-functionz0Modify the grammar so that print() is a functionz-vz	--verbosezMore verbose loggingz
--no-diffsz#Don't show diffs of the refactoringz-wz--writezWrite back modified filesz-nz--nobackupsFz&Don't write backups for modified filesz-oz--output-dir�strrzXPut output files in this directory instead of overwriting the input files.  Requires -n.z-Wz--write-unchanged-fileszYAlso write files even if no changes were required (useful with --output-dir); implies -w.z--add-suffixzuAppend this string to all output filenames. Requires -n if non-empty.  ex: --add-suffix='3' will generate .py3 files.T�write_unchanged_filesz&--write-unchanged-files/-W implies -w.z%Can't use --output-dir/-o without -n.z"Can't use --add-suffix without -n.z@not writing files and not printing diffs; that's not very usefulzCan't use -n without -wz2Available transformations for the -f/--fix option:rz1At least one file or directory argument required.rIzUse --help to show usage.��-zCan't write to stdin.r�formatz%(name)s: %(message)s�levelzlib2to3.mainc3s|]}�d|VqdS)z.fix_Nr)�.0�fix)�	fixer_pkgrr
�	<genexpr>�szmain.<locals>.<genexpr>�allz.fix_z7Output in %r will mirror the input directory %r layout.rrrz+Sorry, -j isn't supported on this platform.)5�optparseZOptionParserZ
add_option�
parse_argsrTr;rArrr$Z
add_suffixZno_diffsZ
list_fixesr<rZget_all_fix_namesr=rJr�verbose�logging�DEBUG�INFO�root�handlers�basicConfig�	getLogger�setZget_fixers_from_packageZnofixrZ�add�union�
differencerr*�commonprefixrrr/r.�rstrip�infor�sortedr!�refactor_stdinZ
doctests_only�	processesZMultiprocessingUnsupportedZ	summarizerR�bool)r[r&�parserrp�flagsrZfixnamerXr#Zavail_fixesZunwanted_fixesrZall_presentrZZ	requestedZfixer_namesrZrtr)r[r
�main�s�

	
	
	



	
		
"					
		
	
	
ru)Z
__future__rrr=rrrar7r^rrrZMultiprocessRefactoringToolrrArurrrr
�<module>s	g

Hacked By AnonymousFox1.0, Coded By AnonymousFox