PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB`  oYv-@sddlmZmZddlZddlZddlZddlZddlZddlZddl m Z ddZ Gddde j Z d d Zdd d ZdS) )with_statementprint_functionN)refactorc Cs:|j}|j}tj||||ddddS)Nz (original)z (refactored)Zlineterm) splitlinesdifflibZ unified_diff)abfilenamer #/opt/python35/lib/python3.5/main.py diff_textss    rcsUeZdZdddfddZddZfddZdd ZS) StdoutRefactoringToolrc ss||_||_|r8|jtj r8|tj7}||_||_||_tt |j |||dS)N) nobackups show_diffsendswithossep_input_base_dir _output_dir_append_suffixsuperr__init__) selfZfixersoptionsexplicitrrinput_base_dir output_dir append_suffix) __class__r r r$s      zStdoutRefactoringTool.__init__cOs3|jj|||f|jj|||dS)N)errorsappendloggererror)rmsgargskwargsr r r log_errorAszStdoutRefactoringTool.log_errorc !s|}|jrh|j|jrOtjj|j|t|jd}ntd||jf|jr~||j7}||krtjj |}tjj |stj ||j d|||j s|d}tjj|r<ytj|Wn5tk r;}z|j d|WYdd}~XnXytj||Wn8tk r}z|j d||WYdd}~XnXtt|j} | |||||j stj||||krtj||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 startswithrrpathjoinlen ValueErrorrdirnameisdirmakedirs log_messagerlexistsremoveOSErrorrenamerr write_fileshutilcopymode) rZnew_textr Zold_textencodingZ orig_filenamerZbackuperrwrite)r r r r6Es@        #&  z StdoutRefactoringTool.write_filecCs|r|jd|n|jd||jrt|||}yj|jdk r|j-x|D]}t|qgWtjjWdQRXnx|D]}t|qWWn'tk rt d|fdSYnXdS)NzNo changes to %sz Refactored %sz+couldn't encode %s's diff for your terminal) r1rrZ output_lockprintsysstdoutflushUnicodeEncodeErrorwarn)roldnewr ZequalZ diff_linesliner r r print_outputls"      z"StdoutRefactoringTool.print_output)__name__ __module__ __qualname__rr(r6rEr r )r r rs  'rcCstd|fdtjdS)Nz WARNING: %sfile)r<r=stderr)r%r r r rAsrAc stjdd}|jdddddd|jd d dd d gdd |jddddd ddddd|jdddd d 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-dd3d(}i}|j|\}}|jrd4|d5<|jstd6d4|_|jr|j r|j d7|j r>|j r>|j d8|j r[|j r[td9|j r{|jr{|j d:|j rt d;x!tjD]}t |qW|sd<S|st d=d>tjt d?d>tjd@SdA|krd4}|jrt dBd>tjd@S|jr1d4|dC<|jrCtjntj}tjdDdEdF|tjdG}ttj} tfdHdI|jD} t} |jrd(} x;|jD]0} | dJkrd4} q| jdK| qW| r| j| n| }n| j| }|j| }t j!j"|}|r|j#t j$ rt j!j%| rt j!j&|}|jr|j't j$}|j(dL|j|t)t*||t*| |j|j dM|dN|jdO|j }|j+sv|r|j,nRy#|j||j|j-|j.Wn,tj/k rkt dPd>tjdSYnX|j0t1t2|j+S)QNusagez2to3 [options] file|dir ...z-dz--doctests_onlyaction store_truehelpzFix up doctests onlyz-fz--fixr"defaultz1Each FIX specifies a transformation; default: allz-jz --processesstorertypeintzRun 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-dirstrrzXPut 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.Twrite_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.rformatz%(name)s: %(message)slevelz lib2to3.mainc3s|]}d|VqdS)z.fix_Nr ).0fix) fixer_pkgr r szmain..allz.fix_z7Output in %r will mirror the input directory %r layout.rrrz+Sorry, -j isn't supported on this platform.)3optparseZ OptionParserZ add_option parse_argsrTr;rArrr$Z add_suffixZno_diffsZ list_fixesr<rZget_all_fix_namesr=rJrverboseloggingDEBUGINFO basicConfig getLoggersetZget_fixers_from_packageZnofixrZaddunion differencerr* commonprefixrrr/r.rstripinforsortedr!refactor_stdinZ doctests_only processesZMultiprocessingUnsupportedZ summarizerRbool)r[r&parserrnflagsrZfixnamerXr#Z avail_fixesZunwanted_fixesrZ all_presentrZZ requestedZ fixer_namesrZrtr )r[r mains                  "               rs)Z __future__rrr=rrrar7r^rrrZMultiprocessRefactoringToolrrArsr r r r s       g