grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026a ´iŸFã@s^ddlZddlZddlZddlmZddlmZmZmZm Z m Z ddlm Z Gdd„dƒZ dS)éN)ÚDistutilsOptionError)ÚutilÚdir_utilÚ file_utilÚ archive_utilÚdep_util©Úlogc@seZdZgZdd„Zdd„Zdd„Zdd„Zd d „ZdBd d„Z dd„Z dCdd„Z dd„Z dDdd„Z dEdd„Zdd„ZdFdd„Zdd„Zd d!„Zd"d#„Zd$d%„ZdGd&d'„ZdHd)d*„Zd+d,„Zd-d.„Zd/d0„ZdId1d2„ZdJd4d5„ZdKd6d7„ZdLd8d9„ZdMd:d;„ZdNdd?„Z dPd@dA„Z!d S)QÚCommandcCsbddlm}t||ƒstdƒ‚|jtur0tdƒ‚||_| ¡d|_ |j |_ d|_ d|_ d|_ dS)Nr)Ú Distributionz$dist must be a Distribution instancezCommand is an abstract class)Zdistutils.distr Ú isinstanceÚ TypeErrorÚ __class__r Ú RuntimeErrorÚ distributionÚinitialize_optionsZ_dry_runÚverboseÚforceÚhelpÚ finalized)ÚselfÚdistr ©rú%/usr/lib64/python3.9/distutils/cmd.pyÚ__init__/s    zCommand.__init__cCs<|dkr0t|d|ƒ}|dur*t|j|ƒS|Snt|ƒ‚dS)NÚdry_runÚ_)ÚgetattrrÚAttributeError)rÚattrZmyvalrrrÚ __getattr___s  zCommand.__getattr__cCs|js| ¡d|_dS)Né)rÚfinalize_options©rrrrÚensure_finalizediszCommand.ensure_finalizedcCstd|jƒ‚dS©Nz,abstract method -- subclass %s must override©rrr#rrrr{s ÿzCommand.initialize_optionscCstd|jƒ‚dSr%r&r#rrrr"ˆs ÿzCommand.finalize_optionsNÚcCsšddlm}|dur d| ¡}|j||tjd�|d}|jD]R\}}}| |¡}|ddkrn|dd…}t||ƒ}|j|d||ftjd�qBdS) Nr)Ú longopt_xlatezcommand options for '%s':)Úlevelz éÿÿÿÿú=z%s = %s) Zdistutils.fancy_getoptr(Úget_command_nameÚannouncer ÚINFOZ user_optionsÚ translater)rÚheaderÚindentr(ÚoptionrÚvaluerrrÚ dump_options—s      ÿzCommand.dump_optionscCstd|jƒ‚dSr%r&r#rrrÚrun¥s ÿz Command.runr!cCst ||¡dS©Nr)rÚmsgr)rrrr-²szCommand.announcecCs&ddlm}|r"t|ƒtj ¡dS)Nr)ÚDEBUG)Zdistutils.debugr8ÚprintÚsysÚstdoutÚflush)rr7r8rrrÚ debug_print¸s zCommand.debug_printcCsBt||ƒ}|dur"t|||ƒ|St|tƒs>td|||fƒ‚|S)Nz'%s' must be a %s (got `%s`))rÚsetattrr Ústrr)rr2ÚwhatÚdefaultÚvalrrrÚ_ensure_stringlikeÏs   ÿzCommand._ensure_stringlikecCs| |d|¡dS)NÚstring)rC)rr2rArrrÚ ensure_stringÙszCommand.ensure_stringcCspt||ƒ}|durdSt|tƒr6t||t d|¡ƒn6t|tƒrTtdd„|Dƒƒ}nd}|sltd||fƒ‚dS)Nz,\s*|\s+css|]}t|tƒVqdSr6)r r?)Ú.0ÚvrrrÚ ìóz-Command.ensure_string_list..Fz''%s' must be a list of strings (got %r)) rr r?r>ÚreÚsplitÚlistÚallr)rr2rBÚokrrrÚensure_string_listßs   ÿÿzCommand.ensure_string_listcCs6| |||¡}|dur2||ƒs2td|||fƒ‚dS)Nzerror in '%s' option: )rCr)rr2Ztesterr@Z error_fmtrArBrrrÚ_ensure_tested_stringôs ÿzCommand._ensure_tested_stringcCs| |tjjdd¡dS)NÚfilenamez$'%s' does not exist or is not a file)rPÚosÚpathÚisfile©rr2rrrÚensure_filenameûs þzCommand.ensure_filenamecCs| |tjjdd¡dS)Nzdirectory namez)'%s' does not exist or is not a directory)rPrRrSÚisdirrUrrrÚensure_dirnames þzCommand.ensure_dirnamecCst|dƒr|jS|jjSdS)NÚ command_name)ÚhasattrrYrÚ__name__r#rrrr, s zCommand.get_command_namecGsF|j |¡}| ¡|D](\}}t||ƒdurt||t||ƒƒqdSr6)rÚget_command_objr$rr>)rZsrc_cmdZ option_pairsZ src_cmd_objZ src_optionZ dst_optionrrrÚset_undefined_optionss   zCommand.set_undefined_optionscCs|j ||¡}| ¡|Sr6)rr\r$)rÚcommandZcreateZcmd_objrrrÚget_finalized_command$szCommand.get_finalized_commandrcCs|j ||¡Sr6)rÚreinitialize_command)rr^Zreinit_subcommandsrrrr`0sÿzCommand.reinitialize_commandcCs|j |¡dSr6)rÚ run_command)rr^rrrra4szCommand.run_commandcCs2g}|jD]"\}}|dus"||ƒr | |¡q |Sr6)Ú sub_commandsÚappend)rÚcommandsZcmd_nameÚmethodrrrÚget_sub_commands;s  zCommand.get_sub_commandscCst d| ¡|¡dS)Nzwarning: %s: %s )r Úwarnr,)rr7rrrrgKsz Command.warncCstj||||jd�dS©N©r)rÚexecuter)rÚfuncÚargsr7r)rrrrjNszCommand.executeéÿcCstj|||jd�dSrh)rÚmkpathr)rÚnameÚmoderrrrnQszCommand.mkpathc Cstj|||||j ||jd�Srh)rÚ copy_filerr)rÚinfileÚoutfileÚ preserve_modeÚpreserve_timesÚlinkr)rrrrqTs  þzCommand.copy_filec Cstj||||||j |jd�Srh)rÚ copy_treerr)rrrrsrtruZpreserve_symlinksr)rrrrw]s  þzCommand.copy_treecCstj|||jd�Srh)rÚ move_filer)rÚsrcÚdstr)rrrrxfszCommand.move_filecCs ddlm}||||jd�dS)Nr)Úspawnri)Zdistutils.spawnr{r)rÚcmdÚ search_pathr)r{rrrr{js z Command.spawnc Cstj|||||j||d�S)N)rÚownerÚgroup)rÚ make_archiver)rÚ base_nameÚformatÚroot_dirÚbase_dirr~rrrrr€os þzCommand.make_archivecCs„|durd|}t|tƒr"|f}nt|ttfƒs8tdƒ‚|durRd|d |¡f}|jsdt ||¡rv|  ||||¡n t   |¡dS)Nzskipping %s (inputs unchanged)z9'infiles' must be a string, or a list or tuple of stringszgenerating %s from %sz, ) r r?rLÚtupler ÚjoinrrZ newer_grouprjr Údebug)rZinfilesrsrkrlZexec_msgZskip_msgr)rrrÚ make_fileus  ÿzCommand.make_file)Nr')r!)N)N)N)r!)r)Nr!)rm)r!r!Nr!)r!r!rr!)r!)r!r!)NNNN)NNr!)"r[Ú __module__Ú __qualname__rbrr r$rr"r4r5r-r=rCrErOrPrVrXr,r]r_r`rarfrgrjrnrqrwrxr{r€rˆrrrrr sN0     ÿ    ÿ ÿ  ÿ ÿr ) r:rRrJZdistutils.errorsrZ distutilsrrrrrr r rrrrÚs