File: //lib64/python3.8/lib2to3/__pycache__/main.cpython-38.opt-2.pyc
U
e5d- @ s| d dl mZmZ d dlZd dlZd dlZd dlZd dlZd dlZddl m
Z
dd ZG dd de
jZ
d d
Zd
ddZdS ) )with_statementprint_functionN )refactorc C s( | } | }tj| |||ddddS )Nz
(original)z(refactored) )Zlineterm)
splitlinesdifflibZunified_diff)abfilename r $/usr/lib64/python3.8/lib2to3/main.py
diff_texts s r c s: e Zd Zd
fdd Zdd Z fddZdd Z ZS )StdoutRefactoringToolr c sP || _ || _|r&|tjs&|tj7 }|| _|| _|| _tt |
||| d S N) nobackups
show_diffsendswithossep_input_base_dir_output_dir_append_suffixsuperr __init__) selfZfixersoptionsexplicitr r input_base_dir
output_dir
append_suffix __class__r r
r $ s
zStdoutRefactoringTool.__init__c O s* | j |||f | jj|f|| d S r )errorsappendloggererror)r msgargskwargsr r r
log_errorA s zStdoutRefactoringTool.log_errorc
sz |}| j rH|| jr6tj| j |t| jd }ntd|| jf | jrX|| j7 }||krtj |}tj
|s|rt| | d|| | j
s2|d }tj|rzt| W n. tk
r } z| d| W 5 d }~X Y nX zt|| W n2 tk
r0 } z| d|| W 5 d }~X Y nX tt| j} | |||| | j
s`t|| ||krvt|| d S )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
startswithr r pathjoinlen
ValueErrorr dirnameisdirmakedirslog_messager lexistsremoveOSErrorrenamer r
write_fileshutilZcopymode)
r Znew_textr Zold_textencodingZ
orig_filenamer Zbackuperrwriter! r r
r8 E sJ
z StdoutRefactoringTool.write_filec C s |r| d| n| d| | jrt|||}zP| jd k rl| j" |D ]}t| qHtj W 5 Q R X n|D ]}t| qpW n$ tk
r t d|f Y d S X d S )NzNo changes to %sz
Refactored %sz+couldn't encode %s's diff for your terminal)
r3 r r Zoutput_lockprintsysstdoutflushUnicodeEncodeErrorwarn)r oldnewr ZequalZ
diff_linesliner r r
print_outputl s$
z"StdoutRefactoringTool.print_output)r r r )__name__
__module____qualname__r r* r8 rF
__classcell__r r r! r
r s 'r c C s t d| f tjd d S )NzWARNING: %sfile)r= r>