o ?Og@s dZgdZddlZddlZddlZddlmZ m Z dZ dZ dZ dZd Zd Zd ZGd d d eZddZGdddeZGdddeZGdddeZGdddeZGdddeZddZGdddeZGdddeZGd d!d!eZGd"d#d#eZGd$d%d%eZ Gd&d'd'eZ!Gd(d)d)e!Z"Gd*d+d+e!Z#Gd,d-d-eZ$Gd.d/d/eZ%Gd0d1d1eZ&Gd2d3d3eZ'Gd4d5d5eZ(Gd6d7d7eZ)Gd8d9d9e$Z*Gd:d;d;eZ+Gdd?d?eZ-Gd@dAdAe-Z.GdBdCdCe.Z/GdDdEdEee-Z0dS)Fz1.1)ArgumentParser ArgumentErrorArgumentTypeErrorBooleanOptionalActionFileType HelpFormatterArgumentDefaultsHelpFormatterRawDescriptionHelpFormatterRawTextHelpFormatterMetavarTypeHelpFormatter NamespaceAction ONE_OR_MOREOPTIONALPARSER REMAINDERSUPPRESS ZERO_OR_MOREN)gettextngettextz ==SUPPRESS==?*+zA......Z_unrecognized_argsc@&eZdZ ddZddZddZdS)_AttributeHoldercCst|j}g}i}|D] }|t|q |D]\}}|r-|d||fq|||<q|r=|dt|d|d|fS)N%s=%rz**%s%s(%s), )type__name__ _get_argsappendrepr _get_kwargs isidentifierjoin)selfZ type_name arg_stringsZ star_argsargnamevaluer,//opt/alt/python310/lib64/python3.10/argparse.py__repr__ts   z_AttributeHolder.__repr__cCst|jSN)list__dict__itemsr'r,r,r-r$z_AttributeHolder._get_kwargscCsgSr/r,r3r,r,r-r!z_AttributeHolder._get_argsN)r __module__ __qualname__r.r$r!r,r,r,r-rks  rcCs6|durgSt|tur|ddSddl}||SNr)rr0copy)r2r9r,r,r- _copy_itemss    r:c@seZdZ   d:ddZddZdd ZGd d d eZd d ZddZ ddZ ddZ d;ddZ ddZ ddZddZddZddZd d!Zd"d#Zd$d%Zd&d'Zd(d)Zd*d+Zd,d-Zd.d/Zd0d1Zd2d3Zd4d5Zd6d7Zd8d9ZdS)r,r,r-__init__s" zHelpFormatter.__init__cCs"|j|j7_|jd7_dSNrGrBrHr3r,r,r-_indentszHelpFormatter._indentcCs"|j|j8_|jd8_dSrUrWr3r,r,r-_dedentszHelpFormatter._dedentc@seZdZdddZddZdS)zHelpFormatter._SectionNcCs||_||_||_g|_dSr/) formatterparentheadingr2)r'rZr[r\r,r,r-rT zHelpFormatter._Section.__init__cCs|jdur |j|jj}|dd|jD}|jdur"|j|s&dS|jtur=|jdur=|jj}d|d|jf}nd}|d||dgS)NcSsg|]\}}||qSr,r,).0funcargsr,r,r- z6HelpFormatter._Section.format_help..z%*s%s:  ) r[rZrX _join_partsr2rYr\rrG)r'r&Z item_helpZcurrent_indentr\r,r,r- format_helps    z"HelpFormatter._Section.format_helpr/)r r6r7rTrfr,r,r,r-rJs  rJcCs|jj||fdSr/)rLr2r")r'r_r`r,r,r- _add_itemszHelpFormatter._add_itemcCs0||||j|}||jg||_dSr/)rXrJrLrgrf)r'r\Zsectionr,r,r- start_sections zHelpFormatter.start_sectioncCs|jj|_|dSr/)rLr[rYr3r,r,r- end_sections  zHelpFormatter.end_sectioncCs,|tur|dur||j|gdSdSdSr/)rrg _format_text)r'textr,r,r-add_textszHelpFormatter.add_textcCs*|tur||||f}||j|dSdSr/)rrg _format_usage)r'usageactionsgroupsprefixr`r,r,r- add_usages zHelpFormatter.add_usagecCsv|jtur9|j}||g}||D] }|||qttt|}||j}t|j ||_ | |j |gdSdSr/) helpr_format_action_invocation_iter_indented_subactionsr"rDmaplenrGrIrg_format_action)r'actionZget_invocationZ invocations subactionZinvocation_lengthZ action_lengthr,r,r- add_arguments   zHelpFormatter.add_argumentcCs|D]}||qdSr/)r{)r'roryr,r,r- add_argumentss zHelpFormatter.add_argumentscCs.|j}|r|jd|}|dd}|S)N rd)rKrfrQsubstrip)r'rsr,r,r-rfs zHelpFormatter.format_helpcCsddd|DS)NrccSsg|] }|r |tur|qSr,)r)r^partr,r,r-ra"sz-HelpFormatter._join_parts..)r&)r'Z part_stringsr,r,r-re!s zHelpFormatter._join_partscs|durtd}|dur|t|jd}n|dur$|s$dt|jd}n|durdt|jd}g}g}|D]}|jrA||q6||q6|j} | |||} ddd|| fD}|j|jt |t |krd} | ||} | ||} t | | }t | | }dfdd }t |t |d krdt |t |d }|r||g|||}| |||n<|r||g|||}n0|g}n,dt |}||}|||}t |d krg}| |||| ||||g|}d |}d ||fS)Nzusage: rRz%(prog)s cSsg|]}|r|qSr,r,)r^sr,r,r-raBz/HelpFormatter._format_usage..z%\(.*?\)+(?=\s|$)|\[.*?\]+(?=\s|$)|\S+csg}g}|durt|d}nt|d}|D]-}|dt|kr7|r7||d|g}t|d}|||t|d7}q|rQ||d||dura|dt|d|d<|S)NrVrr)rwr"r&)partsindentrqlineslineZline_lenr text_widthr,r- get_linesVs"   z.HelpFormatter._format_usage..get_linesg?rVrdz%s%s r/) _dictrAoption_stringsr"_format_actions_usager&rFrGrwrMfindallextend)r'rnrorprqrR optionals positionalsryformatZ action_usageZ part_regexpZ opt_usageZ pos_usageZ opt_partsZ pos_partsrrrrr,rr-rm&sX              zHelpFormatter._format_usagec Cs t}i}|D]}|jstd|z ||jd}Wn ty&Yqwt|j}||}||||jkrd} |jD]} || | jturN| d7} q>|| } |jsy||vrc||d7<nd||<||vrt||d7<n+d||<n&| dkr||vr||d7<nd||<||vr||d 7<nd ||<t |d|D]} d || <qqg} t |D]\} } | jtur| d| | d kr| | q| | dd kr| | dq| js|| }|| |}| |vr|ddkr|d dkr|dd }| |q| jd}| jdkr| }n|| }|| |}d ||f}| js<| |vr.z[\[(]z[\])]z(%s) z\1 (%s)z%s *%src)set_group_actions ValueErrorindexrwaddrsrrequiredrange enumerater"getpopr#_get_default_metavar_for_positional _format_argsnargs format_usage!_get_default_metavar_for_optionalsortedr&rMr~r)r'rorp group_actionsZinsertsgroupstartZgroup_action_countendZsuppressed_actions_countryZexposed_actions_countirdefaultr option_string args_stringrkopencloser,r,r-rs                      z#HelpFormatter._format_actions_usagecCsFd|vr |t|jd}t|j|jd}d|j}||||dS)Nz%(prog)r rr})rrArDrFrG _fill_text)r'rkrrr,r,r-rjs  zHelpFormatter._format_textc CsDt|jd|j}t|j|d}||jd}||}|js+|jd|f}d|}n t||kr?|jd||f}d|}d}n |jd|f}d|}|}|g}|jr|j r| |} | r| | |} | d|d| df| ddD] } | d|d| fqun | ds| d||D] } | || q||S) Nr;rrcz%*s%s z %*s%-*s rrVrd)rCrIrErDrFrGrtrsrwr _expand_help _split_linesr"endswithrurxre) r'ryZ help_positionZ help_widthZ action_widthZ action_headertupZ indent_firstrZ help_textZ help_linesrrzr,r,r-rxs<           zHelpFormatter._format_actioncCs|js||}|||d\}|Sg}|jdkr!||jn||}|||}|jD] }|d||fq/d|S)NrVrrr) rr_metavar_formatterrrrrr"r&)r'ryrmetavarrrrr,r,r-rt.s      z'HelpFormatter._format_action_invocationcsP|jdur |jn|jdurdd|jD}dd|n|fdd}|S)NcSg|]}t|qSr,str)r^Zchoicer,r,r-raJrz4HelpFormatter._metavar_formatter..z{%s},csttrSf|Sr/) isinstancetuple)Z tuple_sizeresultr,r-rOs  z0HelpFormatter._metavar_formatter..format)rchoicesr&)r'rydefault_metavarZ choice_strsrr,rr-rFs   z HelpFormatter._metavar_formattercCs|||}|jdurd|d}|S|jtkr d|d}|S|jtkr;|d}t|dkr5d|}|Sd|}|S|jtkrHd|d}|S|jtkrQd}|S|jtkr^d |d}|S|jtkrgd }|Sz d d t |jD}Wn t yt d dwd |||j}|S)N%srVrr;z [%s [%s ...]]z[%s ...]z %s [%s ...]rz%s ...rccSsg|]}dqS)rr,)r^rr,r,r-ralsz.HelpFormatter._format_args..zinvalid nargs valuer) rrrrrwr rrrr TypeErrorrr&)r'ryrZ get_metavarrrZformatsr,r,r-rVsB            zHelpFormatter._format_argscCstt||jd}t|D] }||tur||=q t|D]}t||dr-||j||<q|ddurEddd|dD}||d<| ||S)Nrr rrcSrr,rr^cr,r,r-ra{rz.HelpFormatter._expand_help..) rvarsrAr0rhasattrr rr&_get_help_string)r'ryparamsr*Z choices_strr,r,r-rrs   zHelpFormatter._expand_helpccsBz|j}Wn tyYdSw||EdH|dSr/)_get_subactionsAttributeErrorrXrY)r'ryZget_subactionsr,r,r-rus    z'HelpFormatter._iter_indented_subactionscCs&|jd|}ddl}|||S)Nrr)rPr~rtextwrapZwrap)r'rkrSrr,r,r-rs zHelpFormatter._split_linescCs,|jd|}ddl}|j||||dS)Nrr)Zinitial_indentZsubsequent_indent)rPr~rrZfill)r'rkrSrrr,r,r-rs zHelpFormatter._fill_textcC|jSr/)rsr'ryr,r,r-rzHelpFormatter._get_help_stringcCs |jSr/)destupperrr,r,r-r z/HelpFormatter._get_default_metavar_for_optionalcCrr/)rrr,r,r-rrz1HelpFormatter._get_default_metavar_for_positional)r;r<Nr/)r r6r7rTrXrYobjectrJrgrhrirlrrr{r|rfrermrrjrxrtrrrrurrrrrr,r,r,r-rs@  `q0   rc@eZdZ ddZdS)rcs dfdd|jddDS)Nrcc3s|]}|VqdSr/r,)r^rrr,r- sz9RawDescriptionHelpFormatter._fill_text..T)keepends)r& splitlines)r'rkrSrr,rr-rs z&RawDescriptionHelpFormatter._fill_textN)r r6r7rr,r,r,r-r rc@r)r cCs|Sr/)r)r'rkrSr,r,r-rz!RawTextHelpFormatter._split_linesN)r r6r7rr,r,r,r-r rr c@r)rcCs>|j}d|jvr|jturttg}|js|j|vr|d7}|S)Nz %(default) (default: %(default)s))rsrrrrrr)r'ryrsZdefaulting_nargsr,r,r-rs  z.ArgumentDefaultsHelpFormatter._get_help_stringN)r r6r7rr,r,r,r-rrrc@eZdZ ddZddZdS)r cC|jjSr/rr rr,r,r-rrz:MetavarTypeHelpFormatter._get_default_metavar_for_optionalcCrr/rrr,r,r-rrz.r,r'namesr,r3r-r$Qs zAction._get_kwargscCs |jdSr8rr3r,r,r-r`rzAction.format_usagecCs ttd)Nz.__call__() not defined)NotImplementedErrorrr'parser namespacevaluesrr,r,r-__call__c zAction.__call__NNNNNFNNr/)r r6r7rTr$rrr,r,r,r-r s5 r cs<eZdZ      d fdd Zd ddZddZZS) rNFc s~g} |D]} | | | drd| dd} | | q|dur.|dur.|tur.|d7}tj| |d||||||d dS)N----no-r;rr) rrrrrrrrsr)r" startswithrsuperrT) r'rrrrrrrsrZ_option_stringsr __class__r,r-rTgs(     zBooleanOptionalAction.__init__cCs(||jvrt||j|d dSdS)Nr)rsetattrrrrr,r,r-rs zBooleanOptionalAction.__call__cCs d|jS)Nz | )r&rr3r,r,r-rrz"BooleanOptionalAction.format_usage)NNNFNNr/)r r6r7rTrr __classcell__r,r,r r-rfs rc8eZdZ        dfdd ZdddZZS) _StoreActionNFc T|dkrtd|dur|tkrtdttt|j||||||||| | d dS)Nrznargs for store actions must be != 0; if you have nothing to store, actions such as store true or store const may be more appropriate nargs must be %r to supply constr)rrrrrTrr r,r-rT     z_StoreAction.__init__cCst||j|dSr/)r rrr,r,r-rz_StoreAction.__call__rr/r r6r7rTrr r,r,r r-rrc0eZdZ    dfdd ZdddZZS) _StoreConstActionNFc s"tt|j||d||||ddS)Nr)rrrrrrrs)rrrTr'rrrrrrsrr r,r-rTs  z_StoreConstAction.__init__cCst||j|jdSr/)r rrrr,r,r-rsz_StoreConstAction.__call__NFNNr/rr,r,r r-rsrcs$eZdZ   dfdd ZZS)_StoreTrueActionFNc tt|j||d|||ddS)NTrrrrrrs)rrrTr'rrrrrsr r,r-rT  z_StoreTrueAction.__init__)FFNr r6r7rTr r,r,r r-r rcs$eZdZ   dfdd ZZS)_StoreFalseActionTFNcr)NFr)rr rTrr r,r-rTrz_StoreFalseAction.__init__)TFNrr,r,r r-r rr cr ) _AppendActionNFc r)Nrznargs for append actions must be != 0; if arg strings are not supplying the value to append, the append const action may be more appropriaterr)rrrr!rTrr r,r-rTrz_AppendAction.__init__cC2t||jd}t|}||t||j|dSr/)rrr:r"r r'rrrrr2r,r,r-r  z_AppendAction.__call__rr/rr,r,r r-r!rr!cr) _AppendConstActionNFc s$tt|j||d|||||ddS)Nr)rrrrrrrsr)rr%rTrr r,r-rTs  z_AppendConstAction.__init__cCs4t||jd}t|}||jt||j|dSr/)rrr:r"rr r#r,r,r-r%s z_AppendConstAction.__call__rr/rr,r,r r-r%sr%cs.eZdZ   dfdd ZdddZZS) _CountActionNFcr)Nr)rrrrrrs)rr&rTrr r,r-rT.rz_CountAction.__init__cCs0t||jd}|dur d}t||j|ddSNrrV)rrr )r'rrrrcountr,r,r-r<sz_CountAction.__call__)NFNr/rr,r,r r-r&,s r&cs.eZdZeedffdd ZdddZZS) _HelpActionNcstt|j|||d|ddSNr)rrrrrs)rr)rT)r'rrrrsr r,r-rTEs  z_HelpAction.__init__cCs||dSr/) print_helpexitrr,r,r-rQs z_HelpAction.__call__r/r r6r7rrTrr r,r,r r-r)Cs  r)cs0eZdZdeedffdd ZdddZZS)_VersionActionNz&show program's version number and exitcs$tt|j|||d|d||_dSr*)rr.rTversion)r'rr/rrrsr r,r-rTXs  z_VersionAction.__init__cCsD|j}|dur |j}|}||||tj|dSr/)r/_get_formatterrl_print_messagerf_sysstdoutr,)r'rrrrr/rZr,r,r-rfs  z_VersionAction.__call__r/r-r,r,r r-r.Vsr.csPeZdZGdddeZedddffdd ZddZd d Zd d d Z Z S)_SubParsersActioncseZdZfddZZS)z&_SubParsersAction._ChoicesPseudoActioncs@|}}|r|dd|7}ttj|}|jg|||ddS)Nrr)rrrsr)r&rr4_ChoicesPseudoActionrT)r'r*aliasesrsrrZsupr r,r-rTts   z/_SubParsersAction._ChoicesPseudoAction.__init__rr,r,r r-r5rsr5FNc s<||_||_i|_g|_tt|j||t|j|||ddS)N)rrrrrrsr) _prog_prefix _parser_class_name_parser_map_choices_actionsrr4rTr)r'rrR parser_classrrrsrr r,r-rT|s   z_SubParsersAction.__init__cKs|ddurd|j|f|d<|dd}d|vr,|d}||||}|j||jdi|}||j|<|D]}||j|<q;|S)NrRrr6r,rs)rr7rr5r:r"r8r9)r'r*kwargsr6rsZ choice_actionraliasr,r,r- add_parsers     z_SubParsersAction.add_parsercCs|jSr/)r:r3r,r,r-rrz!_SubParsersAction._get_subactionsc Cs|d}|dd}|jturt||j|z|j|}Wnty8|d|jd}td|}t||w||d\} }t |  D] \} } t|| | qG|rft | t gt |t |dSdS)NrrVr) parser_namerz5unknown parser %(parser_name)r (choices: %(choices)s))rrr r9KeyErrorr&rrparse_known_argsrr2 setdefault_UNRECOGNIZED_ARGS_ATTRrr) r'rrrrr?r(r`msgZ subnamespacekeyr+r,r,r-rs(       z_SubParsersAction.__call__r/) r r6r7r r5rrTr>rrr r,r,r r-r4psr4c@seZdZdddZdS) _ExtendActionNcCr"r/)rrr:rr r#r,r,r-rr$z_ExtendAction.__call__r/)r r6r7rr,r,r,r-rFsrFc@s(eZdZ d ddZddZdd ZdS) rrrNcCs||_||_||_||_dSr/)_mode_bufsize _encoding_errors)r'modebufsizeencodingerrorsr,r,r-rTr]zFileType.__init__c s|dkr7djvrdjvrtjjStjStfdddDr,djvr)tjjStjStdj}t|z t|jj j j WSt y_}z||d}td }t ||d}~ww) N-rGbc3s|]}|jvVqdSr/)rHrr3r,r-rsz$FileType.__call__..Zwaxzargument "-" with mode %r)filenameerrorz$can't open '%(filename)s': %(error)s)rHr2stdinbufferanyr3rrrrIrJrKOSErrorr)r'stringrDer`rr,r3r-rs"   zFileType.__call__cCsT|j|jf}d|jfd|jfg}ddd|Ddd|D}dt|j|fS)NrNrOrcSsg|] }|dkrt|qS)r)r#)r^r)r,r,r-rasz%FileType.__repr__..cSs$g|]\}}|durd||fqS)Nrr,)r^kwr)r,r,r-ras  r)rHrIrJrKr&rr )r'r`r<Zargs_strr,r,r-r.s  zFileType.__repr__)rGrNN)r r6r7rTrr.r,r,r,r-rs   rc@r)r cKs|D] }t||||qdSr/)r )r'r<r*r,r,r-rTszNamespace.__init__cCst|tstSt|t|kSr/)rr NotImplementedr)r'otherr,r,r-__eq__s zNamespace.__eq__cCs ||jvSr/)r1)r'rEr,r,r- __contains__rzNamespace.__contains__N)r r6r7rTr]r^r,r,r,r-r s  r cseZdZfddZddZd&ddZdd Zd d Zd d ZddZ ddZ ddZ ddZ ddZ ddZddZd&ddZddZd d!Zd"d#Zd$d%ZZS)'_ActionsContainercstt|||_||_||_||_i|_|ddt |ddt |ddt |ddt |ddt |ddt |ddt|ddt|dd t|dd t|dd t|dd t|g|_i|_g|_g|_i|_td |_g|_dS)NryZstoreZ store_const store_trueZ store_falser"Z append_constr(rsr/parsersrz^-\d+$|^-\d*\.\d+$)rr_rT descriptionargument_default prefix_charsconflict_handler _registriesregisterrrrr r!r%r&r)r.r4rF _get_handler_actions_option_string_actions_action_groups_mutually_exclusive_groups _defaultsrMrN_negative_number_matcher_has_negative_number_optionals)r'rbrdrcrer r,r-rT%s4  z_ActionsContainer.__init__cCs|j|i}|||<dSr/)rfrB)r' registry_namer+rregistryr,r,r-rgZs z_ActionsContainer.registerNcCs|j|||Sr/)rfr)r'rpr+rr,r,r- _registry_get^rz_ActionsContainer._registry_getcKs2|j||jD] }|j|vr||j|_q dSr/)rmupdaterirr)r'r<ryr,r,r- set_defaultsds    z_ActionsContainer.set_defaultscCs8|jD]}|j|kr|jdur|jSq|j|dSr/)rirrrmr)r'rryr,r,r- get_defaultms  z_ActionsContainer.get_defaultcOsH |j}|rt|dkr'|dd|vr'|rd|vrtd|j|i|}n|j|i|}d|vrN|d}||jvrD|j||d<n |jdurN|j|d<||}t|s^td|f|d i|}| d|j |j }t|sytd|f|t urtd |ft |d rz | |dWn tytd w||S) NrVrrz+dest supplied twice for positional argumentrzunknown action "%s"r%r is not callablez<%r is a FileType class object, instance of it must be passedr0z,length of metavar tuple does not match nargsr,)rdrwr_get_positional_kwargs_get_optional_kwargsrmrc_pop_action_classcallablerrrrrr0rr _add_action)r'r`r<charsrZ action_classry type_funcr,r,r-r{ws>         z_ActionsContainer.add_argumentcOs&t|g|Ri|}|j||Sr/)_ArgumentGrouprkr")r'r`r<rr,r,r-add_argument_groups z$_ActionsContainer.add_argument_groupcKs t|fi|}|j||Sr/)_MutuallyExclusiveGrouprlr")r'r<rr,r,r-add_mutually_exclusive_group z._ActionsContainer.add_mutually_exclusive_groupcCs`|||j|||_|jD]}||j|<q|jD]}|j|r-|js-|jdq|S)NT) _check_conflictrir" containerrrjrnmatchro)r'ryrr,r,r-r{s       z_ActionsContainer._add_actioncCs|j|dSr/)riremoverr,r,r-_remove_actionsz _ActionsContainer._remove_actioncCsi}|jD]}|j|vrtd}t||j|||j<qi}|jD]"}|j|vr7|j|j|j|jd||j<|jD] }||j||<q:q"|jD]}|j |j d}|jD]}|||<qTqH|j D] }| || |q_dS)Nz.cannot merge actions - two groups are named %r)titlerbre)r)rkrrrrrbrerrlrrrirr{)r'rZtitle_group_maprrDZ group_mapry mutex_groupr,r,r-_add_container_actionss6          z(_ActionsContainer._add_container_actionscKs^d|vr td}t||dttfvrd|d<|dtkr(d|vr(d|d<t||gdS)Nrz1'required' is an invalid argument for positionalsrTrrr)rrrrrr)r'rr<rDr,r,r-rwsz(_ActionsContainer._get_positional_kwargsc Osg}g}|D]0}|d|jvr||jd}td}t||||t|dkr6|d|jvr6||q|dd}|durd|rH|d}n|d}||j}|s^td}t|||dd}t|||d S) Nr)optionrdzNinvalid option string %(option)r: must start with a character %(prefix_chars)rrVrz%dest= is required for options like %rrPrr) rdrrr"rwrlstripreplacer) r'r`r<rZlong_option_stringsrrDrZdest_option_stringr,r,r-rxs0        z&_ActionsContainer._get_optional_kwargscCs|d|}|d||S)Nry)rrr)r'r<rryr,r,r-ry&s z#_ActionsContainer._pop_action_classcCs<d|j}zt||WStytd}t||jw)Nz_handle_conflict_%sz%invalid conflict_resolution value: %r)rerrrr)r'Zhandler_func_namerDr,r,r-rh*s   z_ActionsContainer._get_handlercCsPg}|jD]}||jvr|j|}|||fq|r&|}|||dSdSr/)rrjr"rh)r'ryZconfl_optionalsrZconfl_optionalrer,r,r-r3s   z!_ActionsContainer._check_conflictcCs2tddt|}ddd|D}t|||)Nzconflicting option string: %szconflicting option strings: %srcSsg|]\}}|qSr,r,)r^rryr,r,r-raEsz<_ActionsContainer._handle_conflict_error..)rrwr&r)r'ryconflicting_actionsrZconflict_stringr,r,r-_handle_conflict_errorAs z(_ActionsContainer._handle_conflict_errorcCs>|D]\}}|j||j|d|js|j|qdSr/)rrrjrrr)r'ryrrr,r,r-_handle_conflict_resolveJs   z*_ActionsContainer._handle_conflict_resolver/)r r6r7rTrgrrrtrur{rrr{rrrwrxryrhrrrr r,r,r r-r_#s& 5   3( "  r_cs6eZdZdfdd ZfddZfddZZS) r~Nc s|j}|d|j|d|j|d|jtt|j}|dd|i|||_g|_|j |_ |j |_ |j |_ |j |_ |j |_ |j|_dS)Nrerdrcrbr,)rBrerdrcrr~rTrrrfrirjrmrorl)r'rrrbr<rsZ super_initr r,r-rT[s     z_ArgumentGroup.__init__cs tt||}|j||Sr/)rr~r{rr"rr r,r-r{qrz_ArgumentGroup._add_actioncs tt|||j|dSr/)rr~rrrrr r,r-rvsz_ArgumentGroup._remove_actionNNr r6r7rTr{rr r,r,r r-r~Ys r~cs.eZdZdfdd ZddZddZZS) rFcs tt||||_||_dSr/)rrrTr _container)r'rrr r,r-rT}s z _MutuallyExclusiveGroup.__init__cCs2|jr td}t||j|}|j||S)Nz-mutually exclusive arguments must be optional)rrrrr{rr")r'ryrDr,r,r-r{s   z#_MutuallyExclusiveGroup._add_actioncCs|j||j|dSr/)rrrrrr,r,r-rs z&_MutuallyExclusiveGroup._remove_action)Frr,r,r r-r{src s*eZdZ ddddgedddddddf fdd ZddZd d Zd d Zd dZddZ d@ddZ d@ddZ ddZ ddZ ddZddZddZdd Zd!d"Zd#d$Zd@d%d&Zd@d'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd1d2Zd3d4ZdAd5d6ZdAd7d8ZdAd9d:ZdBdd?Z Z!S)CrNrPrSTc s$tt|j}|||| | d|durtjtjd}||_||_ ||_ ||_ ||_ | |_ | |_| |_|j}|td|_|td|_d|_dd}|dd|d|vrXdn|d}|j rq|j|d |d d d ttd d |D]}||z|j}Wn tyYqsw|j|qsdS)N)rbrdrcrerzpositional argumentsoptionscSs|Sr/r,)rXr,r,r-identityr5z)ArgumentParser.__init__..identityrrPhr;rszshow this help message and exit)ryrrs)rrrT_ospathbasenamer2argvrRrnepilogformatter_classfromfile_prefix_charsadd_help allow_abbrev exit_on_errorrr _positionals _optionals _subparsersrgr{rrrmrrs)r'rRrnrbrparentsrrdrrcrerrrZ superinitZ add_grouprZdefault_prefixr[defaultsr r,r-rTsL    zArgumentParser.__init__cr)N)rRrnrbrrercrr,rrr3r,r-rarz.ArgumentParser._get_kwargs..r,rr,r3r-r$szArgumentParser._get_kwargsc Ks|jdur |td|dt|d|vsd|vr4t|dd}t|dd}||||_n|j|_|ddur[| }| }|j }| |j ||d||d<||d}|d d gi|}|j||S) Nz(cannot have multiple subparser argumentsr;rrbZ subcommandsrRrcrarr,)rrSrrBrrrrrr0_get_positional_actionsrlrrrnrfrryr{) r'r<rrbrZrrpZ parsers_classryr,r,r-add_subparserss$   zArgumentParser.add_subparserscCs&|jr |j||S|j||Sr/)rrr{rrr,r,r-r{s   zArgumentParser._add_actioncCdd|jDS)NcSsg|]}|jr|qSr,rr^ryr,r,r-ra z8ArgumentParser._get_optional_actions..rir3r,r,r-_get_optional_actionsz$ArgumentParser._get_optional_actionscCr)NcSsg|]}|js|qSr,rrr,r,r-ra!rz:ArgumentParser._get_positional_actions..rr3r,r,r-r rz&ArgumentParser._get_positional_actionscC4|||\}}|rtd}||d||SNzunrecognized arguments: %sr)rArrSr&r'r`rrrDr,r,r- parse_args( zArgumentParser.parse_argscCs|dur tjdd}nt|}|durt}|jD]}|jtur4t||js4|jtur4t ||j|jq|j D]}t||sHt |||j |q8|j rmz | ||\}}Wnt yltd}|t|Yn w| ||\}}t|tr|t|tt|t||fSrU)r2rr0r rirrrrr rmr_parse_known_argsrexc_inforSrrCrrdelattr)r'r`rryrerrr,r,r-rA/s6          zArgumentParser.parse_known_argscs jdur i jD])}|j}t|jD]\}}|g}||d||||ddqqig}t} t| D]/\}} | dkr]|d| D]} |dqTqE | } | durid} n| |<d} || qEd |t t d fdd  fd d }  fd d }gd rt }nd} |krt fddD} |kr| }| kr| q| vr |}|| |  |ks| }|dg} jD]=}|vr9|jr|t|q|jdur9t|jtr9t|jr9|jt|jur9t|j ||jq|rI tdd | jD]+}|jrv|jD] }|vr^nqUdd|jD}td} |d |qLfS)NrVrrPAOrccs|||}||jur1||gD]}|vr0td}t|}t|||q|tur>|||dSdS)Nznot allowed with argument %s)r _get_valuesrrrrrr)ryZargument_stringsrZargument_valuesZconflict_actionrDZ action_name)action_conflictsr seen_actionsseen_non_default_actionsr'r,r- take_actions    z5ArgumentParser._parse_known_args..take_actioncsz|}|\}}}j}g} |dur||dS|dur||d}j}|dkrk|d|vrk|dkrk||g|f|d} | |d}|ddpQd} j} || vr`| |}| }nLtd} t|| ||dkr|d} |g}||||fn.td} t|| ||d}|d}|||}||} || }||||fnq|D] \}}}|||q| S)NTrVrrrczignored explicit argument %r)_match_argumentr"rdrjrr) start_index option_tupleryr explicit_argZmatch_argumentZ action_tuples arg_countr|charZnew_explicit_argZ optionals_maprDstopr`rZselected_patterns)r(arg_strings_patternextrasoption_string_indicesr'rr,r-consume_optionalsT       >z:ArgumentParser._parse_known_args..consume_optionalcsnj}|d}||}t|D]\}}|||}||7}||qt|ddd<|Sr/)_match_arguments_partialziprw)rZ match_partialZselected_patternZ arg_countsryrr`)r(rrr'rr,r-consume_positionalss   z=ArgumentParser._parse_known_args..consume_positionalsrrcsg|]}|kr|qSr,r,)r^r)rr,r-ras z4ArgumentParser._parse_known_args..z(the following arguments are required: %srcSsg|] }|jturt|qSr,)rsrrrr,r,r-raGs  z#one of the arguments %s is requiredrr/)r_read_args_from_filesrlrrrBriterr"_parse_optionalr&rrrDrCrirrrrrrrrr  _get_valuerSr)r'r(rrrrZ mutex_actionZ conflictsZarg_string_pattern_partsZarg_strings_iter arg_stringrpatternrrZmax_option_string_indexZnext_option_string_indexZpositionals_end_indexZstringsZ stop_indexZrequired_actionsryrrrDr,) rr(rrrrrrrr'rrr-rVs         N              z ArgumentParser._parse_known_argsc Csg}|D]c}|r|d|jvr||qz.cSrr,)rw)r^rXr,r,r-rar)rrwr&rMrrrp)r'rorrrZ actions_slicerrr,r3r-rs  z'ArgumentParser._match_arguments_partialc Cs |sdS|d|jvr dS||jvr|j|}||dfSt|dkr$dSd|vr?|dd\}}||jvr?|j|}|||fS||}t|dkreddd|D}||d}td}|||n t|dkrp|\} | S|j |r{|j s{dSd |vrdSd|dfS) NrrV=rcSsg|]\}}}|qSr,r,)r^ryrrr,r,r-rasz2ArgumentParser._parse_optional..)rZmatchesz4ambiguous option: %(option)s could match %(matches)sr) rdrjrwsplit_get_option_tuplesr&rrSrnrro) r'rryrrZ option_tuplesrr`rDrr,r,r-rs>              zArgumentParser._parse_optionalc Cs0g}|j}|d|vrA|d|vrA|jr?d|vr!|dd\}}n|}d}|jD]}||r>|j|}|||f}||q(|S|d|vr|d|vr|}d}|dd}|dd} |jD]*}||krv|j|}||| f}||q`||r|j|}|||f}||q`|S|td||S)NrrVrr;zunexpected option string: %s)rdrrrjrr"rSr) r'rrr|Z option_prefixrryrZshort_option_prefixZshort_explicit_argr,r,r-rsB               z!ArgumentParser._get_option_tuplescCs|j}|dur d}n3|tkrd}n,|tkrd}n%|tkrd}n|tkr&d}n|tkr-d}n|tkr4d}n dd d |}|jrL| d d }| d d }|S) Nz(-*A-*)z(-*A?-*)z (-*[A-]*)z (-*A[A-]*)z([-AO]*)z (-*A[-AO]*)z(-*-*)z(-*%s-*)z-*rrcrP) rrrr rrrr&rr)r'ryrrr,r,r-rs(  z!ArgumentParser._get_nargs_patterncCrr)parse_known_intermixed_argsrrSr&rr,r,r-parse_intermixed_args+ rz$ArgumentParser.parse_intermixed_argsc s|ddD}|rtd|djfdd|jDr$tdz|j}z`|jdur7|dd|_D]}|j|_t|_|j|_ t|_q9| ||\}}D]%}t ||j ryt ||j gkryddlm}|d |j |ft||j qTWD] }|j|_|j |_q}nD] }|j|_|j |_qw|}z6|D] }|j|_d |_q|jD] } | j| _d | _q| ||\}} W|D]}|j|_q|jD]} | j| _qn|D]}|j|_q|jD]} | j| _qwW||_|| fS||_w) NcSsg|] }|jttfvr|qSr,)rrrrr,r,r-ra@ sz>ArgumentParser.parse_known_intermixed_args..z3parse_intermixed_args: positional arg with nargs=%srcs&g|]}|jD] }|vr|jqqSr,)rr)r^rryrr,r-raF s  z;parse_intermixed_args: positional in mutuallyExclusiveGroup)warnzDo not expect %s in %sF)rrrrlrnrZ save_nargsrrZ save_defaultrArrrwarningsrrrrZ save_required) r'r`raZ save_usageryZremaining_argsrrrrr,rr-r2 sx                 z*ArgumentParser.parse_known_intermixed_argscsjttfvrz|dWn tyYnw|s<jtkr<jr&j}nj}t |t r: |} ||S|sYjt krYjsYjdurOj}n|} ||St|dkrwjdtfvrw|\} |} ||Sjtkrfdd|D}|Sjtkrfdd|D} |d|Sjtkrt}|Sfdd|D}|D]} |q|S)NrrVcg|]}|qSr,rr^vryr'r,r-ra rbz.ArgumentParser._get_values..crr,rrrr,r-ra rbrcrr,rrrr,r-ra rb)rrrrrrrrrrrr _check_valuerrwr)r'ryr(r+rrr,rr-r sR    &        zArgumentParser._get_valuesc Cs|d|j|j}t|std}t|||z||}W|Sty=t|jdt|j}tt d}t||t t fy_t|jdt|j}||d}td}t|||w)Nrrvr rV)rr+z!invalid %(type)s value: %(value)r) rrrrzrrrrr#rr2rrr)r'ryrr}rDrr*r`r,r,r-r s"    zArgumentParser._get_valuecCsJ|jdur!||jvr#|dtt|jd}td}t|||dSdS)Nr)r+rz3invalid choice: %(value)r (choose from %(choices)s))rr&rvr#rr)r'ryr+r`rDr,r,r-r szArgumentParser._check_valuecCs$|}||j|j|j|Sr/)r0rrrnrirlrf)r'rZr,r,r-r s  zArgumentParser.format_usagecCst|}||j|j|j||j|jD]}||j ||j| |j | q||j |Sr/)r0rrrnrirlrlrbrkrhrr|rrirrf)r'rZZ action_groupr,r,r-rf s        zArgumentParser.format_helpcCs|j|jdS)Nr)rrRr3r,r,r-r0 r4zArgumentParser._get_formattercC"|durtj}|||dSr/)r2r3r1rr'filer,r,r- print_usage zArgumentParser.print_usagecCrr/)r2r3r1rfrr,r,r-r+ rzArgumentParser.print_helpcCs$|r|dur tj}||dSdSr/)r2stderrwrite)r'rrr,r,r-r1 s zArgumentParser._print_messagercCs |r ||tjt|dSr/)r1r2rr,)r'Zstatusrr,r,r-r, szArgumentParser.exitcCs2 |tj|j|d}|dtd|dS)N)rRrr;z%(prog)s: error: %(message)s )rr2rrRr,r)r'rr`r,r,r-rS s  zArgumentParser.errorrr/)rN)"r r6r7rrTr$rr{rrrrArrrrrrrrrrrrrrrfr0rr+r1r,rSr r,r,r r-rsZB  '{:- 1 M8     r)1 __version____all__osrrerMsysr2rrrrrrr rrrCrrr:rrr rr r Exceptionrrr rrrrr r!r%r&r)r.r4rFrr r_r~rrr,r,r,r-sb=    ^)#&] 78"