o ?Og(R@s ddlZddlZddlZddlZddlZddlZddlmZddl m Z ddl m Z ddlm Z ddlmZddZd d Zd d Zd dZdaddZddZd)ddZdaaaddZddZd*ddZddZ  d+dd Zd!d"Zd,d#d$Z  d-d%d&Z!Gd'd(d(Z"dS).N)DistutilsPlatformError)newer)spawn)log)DistutilsByteCompileErrorc Cs tjdkr$dtjvrdSdtjvrdSdtjvr!dStjSdtjvr.tjdStjd ks8ttd s;tjSt\}}}}}| d d }| d d}| d d}|dddkrfd||fS|dddkr|ddkrd}dt |dd|ddf}ddd}|d|tj 7}nL|dddkrddl m }|S|dd d!krd!}td"tj}||}|r|}n|dd d#krddl} ddl} | | j|||\}}}d$|||fS)%NntZamd64 win-amd64z(arm) win-arm32z(arm64)z win-arm64Z_PYTHON_HOST_PLATFORMposixuname/ _-Zlinuxz%s-%sZsunosr5Zsolarisz%d.%sZ32bitZ64bit)ilz.%sZaix) aix_platformcygwinz[\d.]+darwinz%s-%s-%s)osnamesysversionlowerplatformenvironhasattrr replaceintmaxsizeZ _aix_supportrrecompileASCIImatchgroup _osx_supportZdistutils.sysconfigZget_platform_osxZ sysconfigZget_config_vars) ZosnameZhostreleasermachineZbitnessrZrel_remr) distutilsr.5/opt/alt/python310/lib64/python3.10/distutils/util.pyget_host_platformsV            r0cCs4tjdkrdddd}|tjdptStS)NrZwin32rr )Zx86Zx64ZarmZVSCMD_ARG_TGT_ARCH)rrgetrr0)ZTARGET_TO_PLATr.r.r/ get_platformcs r2cCs tjdkr|S|s |S|ddkrtd||ddkr$td||d}d|vr6|dd|vs-|s;tjStjj|S)Nr rzpath '%s' cannot be absolutezpath '%s' cannot end with '/'.)rsep ValueErrorsplitremovecurdirpathjoin)pathnamepathsr.r.r/ convert_pathns         r>cCs tjdkrtj|stj||Stj||ddStjdkr>tj|\}}|ddkr7|dd}tj||Stdtj)Nr rr\z!nothing known about platform '%s')rrr:isabsr; splitdriver)Znew_rootr<Zdriver:r.r.r/ change_roots     rCc Csx trdStjdkr-dtjvr-zddl}|tdtjd<Wn ttfy,Ynwdtjvr8t tjd<dadS)Nr HOMErrZPLATr?) _environ_checkedrrrpwdgetpwuidgetuid ImportErrorKeyErrorr2)rFr.r.r/ check_environs  rKc CsJ t|fdd}ztd||WSty$}ztd|d}~ww)NcSs(|d}||vrt||Stj|S)Nr?)r(strrr)r' local_varsZvar_namer.r.r/_substs   zsubst_vars.._substz\$([a-zA-Z_][a-zA-Z_0-9]*)zinvalid variable '$%s')rKr$subrJr6)srMrNvarr.r.r/ subst_varss  rRerror: cCs |t|SN)rL)excprefixr.r.r/grok_environment_errors rWcCs(tdtjatdatdadS)Nz [^\\\'\"%s ]*z'(?:[^'\\]|\\.)*'z"(?:[^"\\]|\\.)*")r$r%string whitespace _wordchars_re _squote_re _dquote_rer.r.r.r/ _init_regexs r]cCs tdurt|}g}d}|rt||}|}|t|kr.||d| |S||tjvrI||d|||d }d}ni||dkrb|d|||dd}|d}nP||dkrot ||}n||dkr|t ||}nt d|||durt d|||\}}|d|||d|d||d}|d}|t|kr|| |S|s|S) Nrr@r?'"z!this can't happen (bad char '%c')z"bad string (mismatched %s quotes?)r)rZr]stripr'endlenappendrXrYlstripr[r\ RuntimeErrorr6span)rPZwordsposr,raZbegr.r.r/ split_quotedsF        ,   $rhcCsV |durd|j|f}|dddkr|ddd}t||s)||dSdS)Nz%s%rz,)r))__name__rinfo)funcargsmsgverbosedry_runr.r.r/execute!s  rrcCs0 |}|dvr dS|dvrdStd|f)N)yZyesttrueZon1r?)nZnofZfalseZoff0rzinvalid truth value %r)rr6)valr.r.r/ strtobool4sr{r?c Csh ddl}tjr td|durd}|szddlm} | d\} } Wnty8ddlm} d| d} } Ynwt d| |s| durLt | d} nt | d} | &| d | d tt|d | d |||||fWdn1s|wYtj}tjg}|||d |d|| t||dtt j| fd| |ddSddlm}|D]x}|dddkrq|dkr|dkrdn|}tjj||d}ntj|}|}|r|dt||krt d||f|t|d}|rt j!||}t j!"|}|r1|st#||r*t d|||s)||||qt$d||qdS)Nrzbyte-compiling is disabled.F)mkstemp.py)mktempz$writing byte-compilation script '%s'wz2from distutils.util import byte_compile files = [ z, z] z byte_compile(files, optimize=%r, force=%r, prefix=%r, base_dir=%r, verbose=%r, dry_run=0, direct=1) z -Wignore:z:DeprecationWarning)rqz removing %s)r%r ) optimizationz1invalid prefix: filename %r doesn't start with %rzbyte-compiling %s to %sz%skipping byte-compilation of %s to %s)% subprocessrdont_write_bytecoderZtempfiler|rIr~rrlrfdopenopenwriter;mapreprr-Z_DEPRECATION_MESSAGE executableextendZ"_optim_args_from_interpreter_flagsrcrrrr8 py_compiler% importlibutilcache_from_sourcerbr6r:basenamerdebug)Zpy_filesoptimizeZforcerVZbase_dirrprqZdirectrr|Z script_fdZ script_namer~Zscriptrocmdr%fileoptcfiledfileZ cfile_baser.r.r/ byte_compileDs              rcCs |d}d}||S)N z )r7r;)headerlinesr5r.r.r/ rfc822_escapes  rcCsX |sdSddlm}m}Gddd|}|dur|d}|||d}|j|dddS) Nr)RefactoringToolget_fixers_from_packagec@s$eZdZddZddZddZdS)z*run_2to3..DistutilsRefactoringToolc_tj|g|RdSrT)rerror)selfrornkwr.r.r/ log_errorz4run_2to3..DistutilsRefactoringTool.log_errorcWrrT)rrlrrornr.r.r/ log_messagerz6run_2to3..DistutilsRefactoringTool.log_messagecWrrT)rrrr.r.r/ log_debugrz4run_2to3..DistutilsRefactoringTool.log_debugN)rk __module__ __qualname__rrrr.r.r.r/DistutilsRefactoringTools rz lib2to3.fixes)optionsT)r)Zlib2to3.refactorrrZrefactor)files fixer_namesrexplicitrrrrr.r.r/run_2to3s  rc Cs ddlm}ddlm}ddlm}|} t} t|z | Wt| nt| w| j | j dd<|rN| D]} | } | sHq?| | q?g} | j D]&} tj|| }|tj||tj|| |dd}|dry| |qStdd| D|||d | S) Nr)mkpath) copy_file)FileListr?)updatecSsg|] }|dr|qS)r})rendswith).0fnr.r.r/ sz$copydir_run_2to3..)rrr)Zdistutils.dir_utilrZdistutils.file_utilrZdistutils.filelistrrgetcwdchdirfindallZallfilesr splitlinesr`Zprocess_template_liner:r;dirnamercr)srcdesttemplaterrrrrrZfilelistr9lineZcopiedfilenameZoutnameresr.r.r/copydir_run_2to3s6        rc@s"eZdZ dZdZdZddZdS) Mixin2to3NcCst||j|j|jSrT)rrrr)rrr.r.r/r1szMixin2to3.run_2to3)rkrrrrrrr.r.r.r/r!s  r)rS)Nrr)rrNNr?rN)NNN)NNNN)#rr$importlib.utilrrXrr-Zdistutils.errorsrZdistutils.dep_utilrZdistutils.spawnrrrr0r2r>rCrErKrRrWrZr[r\r]rhrrr{rrrrrr.r.r.r/sJ     P    =   !