Viewing File: /opt/alt/python35/lib64/python3.5/__pycache__/argparse.cpython-35.opt-2.pyc



]`@sdZddddddddd	d
ddd
ddddgZddlZddlZddlZddlZ	ddl
ZddlZ
ddlmZmZdZdZdZdZdZdZdZGdddeZddZGd ddeZGd!ddeZGd"ddeZGd#ddeZGd$d	d	eZd%d&Z Gd'dde!Z"Gd(dde!Z#Gd)ddeZ$Gd*d+d+e$Z%Gd,d-d-e$Z&Gd.d/d/e&Z'Gd0d1d1e&Z(Gd2d3d3e$Z)Gd4d5d5e$Z*Gd6d7d7e$Z+Gd8d9d9e$Z,Gd:d;d;e$Z-Gd<d=d=e$Z.Gd>ddeZ/Gd?d
d
eZ0Gd@dAdAeZ1GdBdCdCe1Z2GdDdEdEe2Z3GdFddee1Z4dS)Gz1.1ArgumentParser
ArgumentErrorArgumentTypeErrorFileType
HelpFormatterArgumentDefaultsHelpFormatterRawDescriptionHelpFormatterRawTextHelpFormatterMetavarTypeHelpFormatter	NamespaceActionONE_OR_MOREOPTIONALPARSER	REMAINDERSUPPRESSZERO_OR_MOREN)gettextngettextz==SUPPRESS==?*+zA...z..._unrecognized_argsc@s4eZdZddZddZddZdS)_AttributeHoldercCst|j}g}x'|jD]}|jt|q"Wx1|jD]#\}}|jd||fqLWd|dj|fS)Nz%s=%rz%s(%s)z, )type__name__	_get_argsappendrepr_get_kwargsjoin)self	type_namearg_stringsargnamevaluer'-/opt/alt/python35/lib64/python3.5/argparse.py__repr__vsz_AttributeHolder.__repr__cCst|jjS)N)sorted__dict__items)r!r'r'r(rsz_AttributeHolder._get_kwargscCsgS)Nr')r!r'r'r(rsz_AttributeHolder._get_argsN)r
__module____qualname__r)rrr'r'r'r(rms		rcCs5t||ddkr(t|||t||S)N)getattrsetattr)	namespacer%r&r'r'r(
_ensure_valuesr2c@sjeZdZdddddZddZdd	ZGd
ddeZdd
ZddZ	ddZ
ddZdddZddZ
ddZddZddZddZd d!Zd"d#Zd$d%Zd&d'Zd(d)Zd*d+Zd,d-Zd.d/Zd0d1Zd2d3Zd4d5Zd6d7Zd8d9ZdS):rNcCs|dkrNyttjd}Wnttfk
rCd}YnX|d8}||_||_||_t|t	|d|d|_||_
d|_d|_d|_
|j|d|_|j|_tjdtj|_tjd|_dS)NCOLUMNSPr3rz\s+z\n\n\n+)int_osenvironKeyError
ValueError_prog_indent_increment_max_help_positionminmax_width_current_indent_level_action_max_length_Section
_root_section_current_section_recompileASCII_whitespace_matcher_long_break_matcher)r!progindent_incrementmax_help_positionwidthr'r'r(__init__s&
							zHelpFormatter.__init__cCs%|j|j7_|jd7_dS)N)rCr>rD)r!r'r'r(_indentszHelpFormatter._indentcCs%|j|j8_|jd8_dS)NrS)rCr>rD)r!r'r'r(_dedentszHelpFormatter._dedentc@s+eZdZdddZddZdS)zHelpFormatter._SectionNcCs(||_||_||_g|_dS)N)	formatterparentheadingr,)r!rVrWrXr'r'r(rRs			zHelpFormatter._Section.__init__cCs|jdk	r|jj|jj}x!|jD]\}}||q2W|dd|jD}|jdk	r|jj|sdS|jtk	r|jdk	r|jj}d|d|jf}nd}|d||dgS)NcSs"g|]\}}||qSr'r').0funcargsr'r'r(
<listcomp>s	z6HelpFormatter._Section.format_help.<locals>.<listcomp>z%*s%s:

)	rWrVrT_join_partsr,rUrXrrC)r!r rZr[	item_helpcurrent_indentrXr'r'r(format_helps

z"HelpFormatter._Section.format_help)rr-r.rRrbr'r'r'r(rFsrFcCs|jjj||fdS)N)rHr,r)r!rZr[r'r'r(	_add_itemszHelpFormatter._add_itemcCsB|j|j||j|}|j|jg||_dS)N)rTrFrHrcrb)r!rXsectionr'r'r(
start_sections
zHelpFormatter.start_sectioncCs|jj|_|jdS)N)rHrWrU)r!r'r'r(end_sectionszHelpFormatter.end_sectioncCs2|tk	r.|dk	r.|j|j|gdS)N)rrc_format_text)r!textr'r'r(add_textszHelpFormatter.add_textcCs5|tk	r1||||f}|j|j|dS)N)rrc
_format_usage)r!usageactionsgroupsprefixr[r'r'r(	add_usageszHelpFormatter.add_usagecCs|jtk	r|j}||g}x*|j|D]}|j||q7Wtdd|D}||j}t|j||_|j|j	|gdS)NcSsg|]}t|qSr')len)rYsr'r'r(r\s	z.HelpFormatter.add_argument.<locals>.<listcomp>)
helpr_format_action_invocation_iter_indented_subactionsrrArCrErc_format_action)r!actionget_invocationinvocations	subactioninvocation_length
action_lengthr'r'r(add_arguments	
	zHelpFormatter.add_argumentcCs"x|D]}|j|qWdS)N)r|)r!rlrvr'r'r(
add_argumentss
zHelpFormatter.add_argumentscCsA|jj}|r=|jjd|}|jdd}|S)Nz

r^)rGrbrMsubstrip)r!rrr'r'r(rbs
zHelpFormatter.format_helpcCsdjdd|DS)Nr]cSs(g|]}|r|tk	r|qSr')r)rYpartr'r'r(r\s	z-HelpFormatter._join_parts.<locals>.<listcomp>)r )r!part_stringsr'r'r(r_szHelpFormatter._join_partscs|dkrtd}|dk	r=|td|j}n|dkri|ridtd|j}nY|dkrdtd|j}g}g}x4|D],}|jr|j|q|j|qW|j}	|	|||}
djdd||
gD}|j|jt	|t	|krd}|	||}|	||}
t
j||}t
j||
}dfdd	}t	|t	|d
kr9dt	|t	|d}|r||g|||}|j|||q|r-||g|||}q|g}nzdt	|}||}|||}t	|dkrg}|j||||j||||g|}dj|}d
||fS)Nzusage: rNz%(prog)s cSsg|]}|r|qSr'r')rYrqr'r'r(r\=s	z/HelpFormatter._format_usage.<locals>.<listcomp>z\(.*?\)+|\[.*?\]+|\S+csg}g}|dk	r+t|d}nt|d}x|D]w}|dt|kr|r|j|dj|g}t|d}|j||t|d7}qBW|r|j|dj||dk	r|dt|d|d<|S)NrSrr)rprr )partsindentrnlineslineline_lenr)
text_widthr'r(	get_linesMs"
 
z.HelpFormatter._format_usage.<locals>.get_linesg?rSr^z%s%s

)
_dictr=option_stringsr_format_actions_usager rBrCrprIfindallextend)r!rkrlrmrnrN	optionalspositionalsrvformataction_usagepart_regexp	opt_usage	pos_usage	opt_parts	pos_partsrrrrr')rr(rj!sV
		" 

zHelpFormatter._format_usagec
Cst}i}x#|D]}y|j|jd}Wntk
rMwYqX|t|j}||||jkrx|jD]}|j|qW|js||kr||d7<n
d||<d||<n1||kr||d7<n
d||<d||<x%t|d|D]}	d	||	<qWqWg}
xt|D]w\}	}|j	t
kr|
jd|j|	d	kr|j
|	q|j|	dd	kr|j
|	dqH|js8|j|}|j||}||kr(|ddkr(|ddkr(|dd}|
j|qH|jd}
|jdkrad
|
}n1|j|}|j||}d|
|f}|jr||krd|}|
j|qHWx1t|d
dD]}	||	g|
|	|	<qWdjdd|
D}d}d}tjd|d|}tjd|d|}tjd||fd|}tjdd|}|j}|S)Nrz [[]z (()rS|z%sz%s %sz[%s]reverseTrcSs"g|]}|dk	r|qS)Nr')rYitemr'r'r(r\s	z7HelpFormatter._format_actions_usage.<locals>.<listcomp>z[\[(]z[\])]z(%s) z\1z (%s)z%s *%sr]z\(([^|]*)\)r)setindex_group_actionsr<rpaddrequiredrange	enumeraterrrrgetpopr#_get_default_metavar_for_positional_format_argsnargs!_get_default_metavar_for_optionalr*r rIr~r)r!rlrm
group_actionsinsertsgroupstartendrvirdefaultr
option_stringargs_stringrhopencloser'r'r(r}sr	

	




	 


z#HelpFormatter._format_actions_usagecCs_d|kr"|td|j}t|j|jd}d|j}|j|||dS)Nz%(prog)rNrz

)rr=rArBrC
_fill_text)r!rhrrr'r'r(rgs

zHelpFormatter._format_textc
Cst|jd|j}t|j|d}||jd}|j|}|jsw|jd|f}d|}n\t||kr|jd||f}d|}d}n"|jd|f}d|}|}|g}|jr\|j	|}	|j
|	|}
|jd|d|
dfxQ|
ddD] }|jd|d|fq5Wn|jdsx|jdx-|j
|D]}|j|j|qW|j|S)	Nr3rr]z%*s%s
z	%*s%-*s  rrSr^)r@rEr?rArBrCrsrrrp_expand_help_split_linesrendswithrtrur_)
r!rv
help_position
help_widthaction_width
action_headertupindent_firstr	help_text
help_linesrryr'r'r(rus6
	

	
		!
zHelpFormatter._format_actioncCs|js7|j|}|j||d\}|Sg}|jdkr_|j|jnL|j|}|j||}x(|jD]}|jd||fqWdj|SdS)NrSrz%s %sz, )	rr_metavar_formatterrrrrrr )r!rvrmetavarrrrr'r'r(rss	z'HelpFormatter._format_action_invocationcsr|jdk	r|jnA|jdk	rVdd|jD}ddj|n|fdd}|S)NcSsg|]}t|qSr')str)rYchoicer'r'r(r\0s	z4HelpFormatter._metavar_formatter.<locals>.<listcomp>z{%s},cs"ttrSf|SdS)N)
isinstancetuple)
tuple_size)resultr'r(r5sz0HelpFormatter._metavar_formatter.<locals>.format)rchoicesr )r!rvdefault_metavarchoice_strsrr')rr(r,sz HelpFormatter._metavar_formattercCs|j||}|jdkr4d|d}n|jtkrVd|d}n|jtkrxd|d}n|jtkrd|d}nr|jtkrd}nZ|jtkrd|d}n8d	d
t|jD}dj|||j}|S)Nz%srSz[%s]z
[%s [%s ...]]r3z%s [%s ...]z...z%s ...cSsg|]}dqS)z%sr')rYrr'r'r(r\Ks	z.HelpFormatter._format_args.<locals>.<listcomp>r)	rrr
rrrrrr )r!rvrget_metavarrformatsr'r'r(r<s 	zHelpFormatter._format_argscCstt|d|j}x+t|D]}||tkr(||=q(Wx8t|D]*}t||drV||j||<qVW|jddk	rdjdd|dD}||d<|j	||S)NrNrrz, cSsg|]}t|qSr')r)rYcr'r'r(r\Xs	z.HelpFormatter._expand_help.<locals>.<listcomp>)
rvarsr=listrhasattrrrr _get_help_string)r!rvparamsr%choices_strr'r'r(rOs 
zHelpFormatter._expand_helpccsFy
|j}Wntk
r!Yn!X|j|EdH|jdS)N)_get_subactionsAttributeErrorrTrU)r!rvget_subactionsr'r'r(rt\s


z'HelpFormatter._iter_indented_subactionscCs+|jjd|j}tj||S)Nr)rLr~r	_textwrapwrap)r!rhrQr'r'r(rfszHelpFormatter._split_linescCs7|jjd|j}tj||d|d|S)Nrinitial_indentsubsequent_indent)rLr~rrfill)r!rhrQrr'r'r(rjszHelpFormatter._fill_textcCs|jS)N)rr)r!rvr'r'r(roszHelpFormatter._get_help_stringcCs
|jjS)N)destupper)r!rvr'r'r(rrsz/HelpFormatter._get_default_metavar_for_optionalcCs|jS)N)r)r!rvr'r'r(rusz1HelpFormatter._get_default_metavar_for_positional)rr-r.rRrTrUobjectrFrcrerfriror|r}rbr_rjrrgrursrrrrtrrrrrr'r'r'r(rs:	!\a/

c@seZdZddZdS)rcs,djfdd|jddDS)Nr]c3s|]}|VqdS)Nr')rYr)rr'r(	<genexpr>sz9RawDescriptionHelpFormatter._fill_text.<locals>.<genexpr>keependsT)r 
splitlines)r!rhrQrr')rr(rsz&RawDescriptionHelpFormatter._fill_textN)rr-r.rr'r'r'r(rysc@seZdZddZdS)rcCs
|jS)N)r)r!rhrQr'r'r(rsz!RawTextHelpFormatter._split_linesN)rr-r.rr'r'r'r(rsc@seZdZddZdS)rcCsY|j}d|jkrU|jtk	rUttg}|jsK|j|krU|d7}|S)Nz
%(default)z (default: %(default)s))rrrrr
rrr)r!rvrrdefaulting_nargsr'r'r(rs	
z.ArgumentDefaultsHelpFormatter._get_help_stringN)rr-r.rr'r'r'r(rsc@s(eZdZddZddZdS)r	cCs
|jjS)N)rr)r!rvr'r'r(rsz:MetavarTypeHelpFormatter._get_default_metavar_for_optionalcCs
|jjS)N)rr)r!rvr'r'r(rsz<MetavarTypeHelpFormatter._get_default_metavar_for_positionalN)rr-r.rrr'r'r'r(r	scCsi|dkrdS|jr)dj|jS|jdtfkrE|jS|jdtfkra|jSdSdS)N/)rr rrr)argumentr'r'r(_get_action_names	rc@s(eZdZddZddZdS)rcCst||_||_dS)N)r
argument_namemessage)r!rrr'r'r(rRszArgumentError.__init__cCs;|jdkrd}nd}|td|jd|jS)Nz%(message)sz'argument %(argument_name)s: %(message)srr)rrr)r!rr'r'r(__str__s
	zArgumentError.__str__N)rr-r.rRrr'r'r'r(rsc@seZdZdS)rN)rr-r.r'r'r'r(rsc
@sOeZdZddddddddddZddZdddZdS)	rNFcCs^||_||_||_||_||_||_||_||_|	|_|
|_	dS)N)
rrrconstrrrrrrr)r!rrrrrrrrrrrr'r'r(rRs									zAction.__init__c	s8ddddddddd	g	}fd
d|DS)Nrrrrrrrrrrcs%g|]}|t|fqSr')r/)rYr%)r!r'r(r\3s	z&Action._get_kwargs.<locals>.<listcomp>r')r!namesr')r!r(r's	zAction._get_kwargscCsttddS)Nz.__call__() not defined)NotImplementedErrorr)r!parserr1valuesrr'r'r(__call__5szAction.__call__)rr-r.rRrrr'r'r'r(rs6csIeZdZddddddddfddZdddZS)_StoreActionNFcs|dkrtd|dk	r@|tkr@tdttt|jd|d|d|d|d|d	|d
|d|d|	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 appropriatez nargs must be %r to supply constrrrrrrrrrrr)r<r
superrrR)r!rrrrrrrrrrr)	__class__r'r(rR;sz_StoreAction.__init__cCst||j|dS)N)r0r)r!rr1rrr'r'r(rXsz_StoreAction.__call__)rr-r.rRrr'r')rr(r9srcs=eZdZddddfddZdddZS)_StoreConstActionNFcsAtt|jd|d|ddd|d|d|d|dS)	Nrrrrrrrrr)rrrR)r!rrrrrrrr)rr'r(rR^sz_StoreConstAction.__init__cCst||j|jdS)N)r0rr)r!rr1rrr'r'r(rosz_StoreConstAction.__call__)rr-r.rRrr'r')rr(r\s

rcs+eZdZdddfddZS)_StoreTrueActionFNc
s;tt|jd|d|ddd|d|d|dS)NrrrTrrrr)rrrR)r!rrrrrr)rr'r(rRusz_StoreTrueAction.__init__)rr-r.rRr'r')rr(rssrcs+eZdZdddfddZS)_StoreFalseActionTFNc
s;tt|jd|d|ddd|d|d|dS)NrrrFrrrr)rrrR)r!rrrrrr)rr'r(rRsz_StoreFalseAction.__init__)rr-r.rRr'r')rr(rsrcsIeZdZddddddddfddZdddZS)
_AppendActionNFcs|dkrtd|dk	r@|tkr@tdttt|jd|d|d|d|d|d	|d
|d|d|	d
|

dS)Nrznargs for append actions must be > 0; if arg strings are not supplying the value to append, the append const action may be more appropriatez nargs must be %r to supply constrrrrrrrrrrr)r<r
rrrR)r!rrrrrrrrrrr)rr'r(rRsz_AppendAction.__init__cCsBtjt||jg}|j|t||j|dS)N)_copycopyr2rrr0)r!rr1rrr,r'r'r(rs
z_AppendAction.__call__)rr-r.rRrr'r')rr(rsrcs=eZdZddddfddZdddZS)_AppendConstActionNFcsGtt|jd|d|ddd|d|d|d|d	|dS)
Nrrrrrrrrrr)rrrR)r!rrrrrrrr)rr'r(rRsz_AppendConstAction.__init__cCsEtjt||jg}|j|jt||j|dS)N)rrr2rrrr0)r!rr1rrr,r'r'r(rsz_AppendConstAction.__call__)rr-r.rRrr'r')rr(rs
rcs:eZdZdddfddZdddZS)_CountActionNFc
s;tt|jd|d|ddd|d|d|dS)Nrrrrrrrr)rrrR)r!rrrrrr)rr'r(rRsz_CountAction.__init__cCs0t||jdd}t||j|dS)NrrS)r2rr0)r!rr1rr	new_countr'r'r(rsz_CountAction.__call__)rr-r.rRrr'r')rr(rs	rcs:eZdZeedfddZdddZS)_HelpActionNcs5tt|jd|d|d|ddd|dS)Nrrrrrrr)rrrR)r!rrrrr)rr'r(rRsz_HelpAction.__init__cCs|j|jdS)N)
print_helpexit)r!rr1rrr'r'r(rs
z_HelpAction.__call__)rr-r.rrRrr'r')rr(rsrcs=eZdZdeedfddZdddZS)_VersionActionNz&show program's version number and exitcs>tt|jd|d|d|ddd|||_dS)Nrrrrrrr)rrrRversion)r!rrrrrr)rr'r(rRsz_VersionAction.__init__cCs^|j}|dkr|j}|j}|j||j|jtj|jdS)N)r_get_formatterri_print_messagerb_sysstdoutr)r!rr1rrrrVr'r'r(rs		
z_VersionAction.__call__)rr-r.rrRrr'r')rr(rs
	rcsheZdZGdddeZeddfddZddZdd	Zdd
dZ	S)_SubParsersActioncs"eZdZfddZS)z&_SubParsersAction._ChoicesPseudoActionc	s_|}}|r'|ddj|7}ttj|}|jdgd|d|d|dS)Nz (%s)z, rrrrr)r rr_ChoicesPseudoActionrR)r!r%aliasesrrrrsup)rr'r(rRs
z/_SubParsersAction._ChoicesPseudoAction.__init__)rr-r.rRr'r')rr(rsrNc
sh||_||_tj|_g|_tt|jd|d|dt	d|jd|d|dS)Nrrrrrrr)
_prog_prefix
_parser_class_collectionsOrderedDict_name_parser_map_choices_actionsrrrRr)r!rrNparser_classrrrr)rr'r(rR"s				z_SubParsersAction.__init__cKs|jddkr,d|j|f|d<|jdf}d|kr~|jd}|j|||}|jj||j|}||j|<x|D]}||j|<qW|S)NrNz%s %sr
rr)rrrrrrrr)r!r%kwargsr
rr
choice_actionraliasr'r'r(
add_parser7s

z_SubParsersAction.add_parsercCs|jS)N)r)r!r'r'r(rNsz!_SubParsersAction._get_subactionsc
Cs |d}|dd}|jtk	r<t||j|y|j|}WnOtk
rd|ddj|ji}td|}t||YnX|j|d\}	}x0t	|	j
D]\}
}t||
|qW|rt	|jtgt
|tj|dS)NrrSparser_namerz, z5unknown parser %(parser_name)r (choices: %(choices)s))rrr0rr;r rrparse_known_argsrr,
setdefault_UNRECOGNIZED_ARGS_ATTRr/r)r!rr1rrrr#r[msgsubnamespacekeyr&r'r'r(rQs"

	z_SubParsersAction.__call__)
rr-r.rrrrRrrrr'r')rr(rsrc@s@eZdZdd
ddddZddZdd	ZdS)rrrSNcCs(||_||_||_||_dS)N)_mode_bufsize	_encoding_errors)r!modebufsizeencodingerrorsr'r'r(rRs			zFileType.__init__cCs|dkrWd|jkr"tjSd|jkr8tjStd|j}t|y&t||j|j|j|j	SWnGt
k
r}z'td}t|||fWYdd}~XnXdS)N-r!wzargument "-" with mode %rzcan't open '%s': %s)r"r	stdinr
rr<rr#r$r%OSErrorr)r!stringrerr'r'r(rszFileType.__call__cCst|j|jf}d|jfd|jfg}djdd|Ddd|D}dt|j|fS)Nr(r)z, cSs(g|]}|dkrt|qS)rSr)r)rYr$r'r'r(r\s	z%FileType.__repr__.<locals>.<listcomp>cSs2g|](\}}|dk	rd||fqS)Nz%s=%rr')rYkwr$r'r'r(r\s		z%s(%s))r"r#r$r%r rr)r!r[rargs_strr'r'r(r)s
zFileType.__repr__r)rr-r.rRrr)r'r'r'r(rvsc@s4eZdZddZddZddZdS)r
cKs)x"|D]}t||||qWdS)N)r0)r!rr%r'r'r(rRs
zNamespace.__init__cCs)t|tstSt|t|kS)N)rr
NotImplementedr)r!otherr'r'r(__eq__szNamespace.__eq__cCs
||jkS)N)r+)r!r r'r'r(__contains__szNamespace.__contains__N)rr-r.rRr4r5r'r'r'r(r
scseZdZfddZddZdddZdd	Zd
dZdd
ZddZ	ddZ
ddZddZddZ
ddZddZdddZddZd d!Zd"d#Zd$d%ZS)&_ActionsContainercsgtt|j||_||_||_||_i|_|jddt	|jddt	|jddt
|jddt|jddt|jddt
|jddt|jddt|jdd	t|jdd
t|jddt|jg|_i|_g|_g|_i|_tjd|_g|_dS)
Nrvstorestore_const
store_truestore_falserappend_constcountrrrparsersz^-\d+$|^-\d*\.\d+$)rr6rRdescriptionargument_defaultprefix_charsconflict_handler_registriesregisterrrrrrrrrrr_get_handler_actions_option_string_actions_action_groups_mutually_exclusive_groups	_defaultsrIrJ_negative_number_matcher_has_negative_number_optionals)r!r>r@r?rA)rr'r(rRs2					
					z_ActionsContainer.__init__cCs#|jj|i}|||<dS)N)rBr)r!
registry_namer&rregistryr'r'r(rCsz_ActionsContainer.registerNcCs|j|j||S)N)rBr)r!rLr&rr'r'r(
_registry_getsz_ActionsContainer._registry_getcKsG|jj|x0|jD]%}|j|kr||j|_qWdS)N)rIupdaterErr)r!rrvr'r'r(set_defaultssz_ActionsContainer.set_defaultscCsLx6|jD]+}|j|kr
|jdk	r
|jSq
W|jj|dS)N)rErrrIr)r!rrvr'r'r(get_default	sz_ActionsContainer.get_defaultcOs|j}|s6t|dkri|dd|kri|rTd|krTtd|j||}n|j||}d|kr|d}||jkr|j||d<n|jdk	r|j|d<|j|}t|std|f||}|j	d|j
|j
}t|sDtd|ft|d	ry|jj
|dWntk
rtd
YnX|j|S)NrSrrz+dest supplied twice for positional argumentrzunknown action "%s"rz%r is not callablerz,length of metavar tuple does not match nargs)r@rpr<_get_positional_kwargs_get_optional_kwargsrIr?_pop_action_classcallablerNrrrr	TypeError_add_action)r!r[rcharsraction_classrv	type_funcr'r'r(r|s2		-


z_ActionsContainer.add_argumentcOs&t|||}|jj||S)N)_ArgumentGrouprGr)r!r[rrr'r'r(add_argument_groupBsz$_ActionsContainer.add_argument_groupcKs#t||}|jj||S)N)_MutuallyExclusiveGrouprHr)r!rrr'r'r(add_mutually_exclusive_groupGsz._ActionsContainer.add_mutually_exclusive_groupcCs|j||jj|||_x|jD]}||j|<q0Wx<|jD]1}|jj|rQ|jsQ|jjdqQW|S)NT)	_check_conflictrEr	containerrrFrJmatchrK)r!rvrr'r'r(rWLs
		z_ActionsContainer._add_actioncCs|jj|dS)N)rEremove)r!rvr'r'r(_remove_actionasz _ActionsContainer._remove_actioncCsIi}xL|jD]A}|j|krDtd}t||j|||j<qWi}xs|jD]h}|j|kr|jd|jd|jd|j||j<x"|jD]}||j||<qWqeWxD|jD]9}|j	d|j
}x|jD]}|||<qWqWx*|jD]}|j||j
|q"WdS)Nz.cannot merge actions - two groups are named %rtitler>rAr)rGrdrr<r\r>rArrHr^rrErrW)r!r`title_group_maprr	group_maprvmutex_groupr'r'r(_add_container_actionsds,				z(_ActionsContainer._add_container_actionscKsd|kr$td}t||jdttgkrId|d<|jdtkrtd|krtd|d<t|d|dgS)Nrz1'required' is an invalid argument for positionalsrTrrr)rrVrr
rr)r!rrrr'r'r(rRs
!
z(_ActionsContainer._get_positional_kwargsc	OsJg}g}x|D]}|d|jkr]d|d|ji}td}t|||j||d|jkrt|dkr|d|jkr|j|qW|jdd}|dkr4|r|d}n
|d}|j|j}|s"td}t|||jdd	}t|d|d
|S)Nroptionr@zNinvalid option string %(option)r: must start with a character %(prefix_chars)rrSrz%dest= is required for options like %rr*rr)	r@rr<rrprlstripreplacer)	r!r[rrlong_option_stringsrrrdest_option_stringr'r'r(rSs0



z&_ActionsContainer._get_optional_kwargscCs%|jd|}|jd||S)Nrv)rrN)r!rrrvr'r'r(rTsz#_ActionsContainer._pop_action_classcCsVd|j}yt||SWn1tk
rQtd}t||jYnXdS)Nz_handle_conflict_%sz%invalid conflict_resolution value: %r)rAr/rrr<)r!handler_func_namerr'r'r(rDs

z_ActionsContainer._get_handlercCslg}x@|jD]5}||jkr|j|}|j||fqW|rh|j}|||dS)N)rrFrrD)r!rvconfl_optionalsrconfl_optionalrAr'r'r(r_s
z!_ActionsContainer._check_conflictcCsKtddt|}djdd|D}t|||dS)Nzconflicting option string: %szconflicting option strings: %sz, cSsg|]\}}|qSr'r')rYrrvr'r'r(r\s	z<_ActionsContainer._handle_conflict_error.<locals>.<listcomp>)rrpr r)r!rvconflicting_actionsrconflict_stringr'r'r(_handle_conflict_errors
z(_ActionsContainer._handle_conflict_errorcCsWxP|D]H\}}|jj||jj|d|js|jj|qWdS)N)rrbrFrr`rc)r!rvrqrr'r'r(_handle_conflict_resolves
	z*_ActionsContainer._handle_conflict_resolve)rr-r.rRrCrNrPrQr|r\r^rWrcrhrRrSrTrDr_rsrtr'r')rr(r6s$4	
/($		r6csLeZdZddfddZfddZfddZS)r[Ncs|j}|d|j|d|j|d|jtt|j}|d||||_g|_|j	|_	|j
|_
|j|_|j|_|j
|_
|j|_dS)NrAr@r?r>)rrAr@r?rr[rRrdrrBrErFrIrKrH)r!r`rdr>rrO
super_init)rr'r(rRs			z_ArgumentGroup.__init__cs,tt|j|}|jj||S)N)rr[rWrr)r!rv)rr'r(rWsz_ArgumentGroup._add_actioncs*tt|j||jj|dS)N)rr[rcrrb)r!rv)rr'r(rcsz_ArgumentGroup._remove_action)rr-r.rRrWrcr'r')rr(r[sr[cs=eZdZdfddZddZddZS)r]Fcs,tt|j|||_||_dS)N)rr]rRr
_container)r!r`r)rr'r(rRs	z _MutuallyExclusiveGroup.__init__cCsG|jr!td}t||jj|}|jj||S)Nz-mutually exclusive arguments must be optional)rrr<rvrWrr)r!rvrr'r'r(rWs	z#_MutuallyExclusiveGroup._add_actioncCs$|jj||jj|dS)N)rvrcrrb)r!rvr'r'r(rc$sz&_MutuallyExclusiveGroup._remove_action)rr-r.rRrWrcr'r')rr(r]sr]cseZdZddddgeddddddfddZddZd	d
ZddZd
dZddZ	ddddZ
ddddZddZddZ
ddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/d0Zdd1d2Zdd3d4Zdd5d6Zd7dd8d9Zd:d;ZS)<rNr*errorTc
stt|j}
|
d|d|d|	d|
|dkrVtjjtjd}||_||_	||_
||_||_||_
||_|j}|td|_|td|_d|_dd	}|jd
d|d|krdn|d}|j
rI|j|d|d
ddddtdtdxM|D]E}|j|y
|j}Wntk
rYqPX|jj|qPWdS)Nr>r@r?rArzpositional argumentszoptional argumentscSs|S)Nr')r.r'r'r(identitybsz)ArgumentParser.__init__.<locals>.identityrr*hr3rrrvrzshow this help message and exit)rrrRr9pathbasenamer	argvrNrkepilogformatter_classfromfile_prefix_charsadd_helpallow_abbrevr\r_positionals
_optionals_subparsersrCr|rrhrIrrO)r!rNrkr>r}parentsr~r@rr?rArr	superinit	add_grouprxdefault_prefixrWdefaults)rr'r(rR<sB										




zArgumentParser.__init__cs/ddddddg}fdd|DS)	NrNrkr>r~rArcs%g|]}|t|fqSr')r/)rYr%)r!r'r(r\s	z.ArgumentParser._get_kwargs.<locals>.<listcomp>r')r!rr')r!r(r|s	zArgumentParser._get_kwargsc	KsA|jdk	r"|jtd|jdt|d|ksPd|krt|jdd}t|jdd}|j|||_n|j|_|jddkr	|j	}|j
}|j}|j|j
||d|jj|d<|j|d}|d	g|}|jj||S)
Nz(cannot have multiple subparser argumentsrrdr>subcommandsrNr]r=r)rrwrrrrr\rrr_get_positional_actionsrHrorkrbrrTrW)	r!rrdr>rVrrm
parsers_classrvr'r'r(add_subparserss$	zArgumentParser.add_subparserscCs0|jr|jj|n|jj||S)N)rrrWr)r!rvr'r'r(rWs	zArgumentParser._add_actioncCsdd|jDS)NcSsg|]}|jr|qSr')r)rYrvr'r'r(r\s	z8ArgumentParser._get_optional_actions.<locals>.<listcomp>)rE)r!r'r'r(_get_optional_actionss	z$ArgumentParser._get_optional_actionscCsdd|jDS)NcSsg|]}|js|qSr')r)rYrvr'r'r(r\s	z:ArgumentParser._get_positional_actions.<locals>.<listcomp>)rE)r!r'r'r(rs	z&ArgumentParser._get_positional_actionscCsH|j||\}}|rDtd}|j|dj||S)Nzunrecognized arguments: %sr)rrrwr )r!r[r1r|rr'r'r(
parse_argss
zArgumentParser.parse_argscCsk|dkr"tjdd}nt|}|dkrCt}xW|jD]L}|jtk	rMt||jsM|jtk	rMt	||j|jqMWx7|j
D],}t||st	|||j
|qWyX|j||\}}t|tr$|j
t|tt|t||fSWn5tk
rftjd}|jt|YnXdS)NrS)r	r|rr
rErrrrr0rI_parse_known_argsrrr/delattrrexc_inforwr)r!r[r1rvrerrr'r'r(rs,	

zArgumentParser.parse_known_argscs.	jdk	r	jix~	jD]s}|j}xat|jD]P\}}j|g}|j|d||j||ddqMWq.Wig}t}	xt|	D]\}}
|
dkr|jdx_|	D]}
|jdqWq	j	|
}|dkr4d}n||<d}|j|qWdj
|ttd	fdd	fd	d
}
	j	fdd}gd

rt
}nd}x
|krt
fddD}
|krm|
}|
krg|
qn|

kr
|}j||
|


qW|
}j|dg}x	jD]}|kr|jr|jt|q|jdk	rt|jtrt|jr|jt|jkrt|j	j||jqW|r	jtddj
|xw	jD]l}|jrxZ|jD]}|krPqWdd|jD}td}	j|dj
|qWfS)NrSz--r*AOr]csj|j||}||jk	rj|xQj|gD]=}|krNtd}t|}t|||qNW|tk	r|||dS)Nznot allowed with argument %s)r_get_valuesrrrrrr)rvargument_stringsrargument_valuesconflict_actionraction_name)action_conflictsr1seen_actionsseen_non_default_actionsr!r'r(take_actions

z5ArgumentParser._parse_known_args.<locals>.take_actioncs|}|\}}}j}g}x|dkrPj||dS|dk	ry||d}j}|dkr|d|kr|j|g|f|d}	|	|d}|ddpd}
j}||kr||}|
}qvtd}t|||q|dkrW|d}
|g}|j|||fPqtd}t|||q+|d}|d}|||}||}
||
}|j|||fPq+Wx'|D]\}}}|||qW|
S)NrSrrzignored explicit argument %r)_match_argumentrr@rFrr)start_indexoption_tuplervrexplicit_argmatch_argument
action_tuples	arg_countrXcharnew_explicit_arg
optionals_maprstopr[rselected_patterns)r#arg_strings_patternextrasoption_string_indicesr!rr'r(consume_optional+sN
		
	
	
	

z:ArgumentParser._parse_known_args.<locals>.consume_optionalcsj}|d}||}xHt|D]7\}}|||}||7}||q8Wt|ddd<|S)N)_match_arguments_partialziprp)r
match_partialselected_pattern
arg_countsrvrr[)r#rrr!rr'r(consume_positionalsxs	
 z=ArgumentParser._parse_known_args.<locals>.consume_positionalsrcs"g|]}|kr|qSr'r')rYr)rr'r(r\s	z4ArgumentParser._parse_known_args.<locals>.<listcomp>z(the following arguments are required: %sz, cSs+g|]!}|jtk	rt|qSr')rrrr)rYrvr'r'r(r\s	z#one of the arguments %s is requiredrr)r_read_args_from_filesrHrrrriterr_parse_optionalr rrrAr@rErrrrrrrr/r0
_get_valuerwr)r!r#r1rgrrmutex_action	conflictsarg_string_pattern_partsarg_strings_iter
arg_stringrpatternrrmax_option_string_indexnext_option_string_indexpositionals_end_indexstrings
stop_indexrequired_actionsrvrrrr')rr#rrr1rrrrr!rrr(rs	#

	
		!!J

			
z ArgumentParser._parse_known_argscCsg}x|D]}|s-|d|jkr=|j|q
yt|ddm}g}xA|jjD]-}x$|j|D]}|j|qWqrW|j|}|j|WdQRXWq
tk
rt	j
d}|jt|Yq
Xq
W|S)NrrS)
rrrreadrconvert_arg_line_to_argsrrr-r	rrwr)r!r#new_arg_stringsr	args_filearg_liner$rr'r'r(rs 

z$ArgumentParser._read_args_from_filescCs|gS)Nr')r!rr'r'r(rsz'ArgumentParser.convert_arg_line_to_argscCs|j|}tj||}|dkrdtdttdttdi}tdd|j|j}|j|j|}t	||t
|jdS)Nzexpected one argumentzexpected at most one argumentzexpected at least one argumentzexpected %s argumentzexpected %s argumentsrS)_get_nargs_patternrIrarr
rrrrrrpr)r!rvr
nargs_patternranargs_errorsrrr'r'r(rszArgumentParser._match_argumentcsg}xtt|ddD]w}|d|}djfdd|D}tj||}|dk	r|jdd|jDPqW|S)NrrSr]csg|]}j|qSr')r)rYrv)r!r'r(r\s	z;ArgumentParser._match_arguments_partial.<locals>.<listcomp>cSsg|]}t|qSr')rp)rYr.r'r'r(r\s	r)rrpr rIrarrm)r!rlrrr
actions_slicerrar')r!r(rs
 z'ArgumentParser._match_arguments_partialc
Cs|s
dS|d|jkr!dS||jkrJ|j|}||dfSt|dkr`dSd|kr|jdd\}}||jkr|j|}|||fS|jrD|j|}t|dkr%djdd|D}d|d|i}td	}|j||nt|dkrD|\}	|	S|j	j
|rc|jscdSd
|krsdSd|dfS)NrrS=z, cSsg|]\}}}|qSr'r')rYrvrrr'r'r(r\?s	z2ArgumentParser._parse_optional.<locals>.<listcomp>rimatchesz4ambiguous option: %(option)s could match %(matches)sr)r@rFrpsplitr_get_option_tuplesr rrwrJrarK)
r!rrvrr
option_tuplesoptionsr[rrr'r'r(rs>



	
		zArgumentParser._parse_optionalc
Csg}|j}|d|kr|d|krd|krV|jdd\}}n|}d}x6|jD]>}|j|rl|j|}|||f}|j|qlWn|d|kr|d|kr|}d}|dd}|dd}	x|jD]v}||krE|j|}|||	f}|j|q|j|r|j|}|||f}|j|qWn|jtd||S)NrrSrr3zunexpected option string: %s)r@rrF
startswithrrwr)
r!rrrX
option_prefixrrvrshort_option_prefixshort_explicit_argr'r'r(rZs8	 
 

z!ArgumentParser._get_option_tuplescCs|j}|dkrd}n|tkr3d}nk|tkrHd}nV|tkr]d}nA|tkrrd}n,|tkrd}nddjd	|}|jr|jdd
}|jdd
}|S)Nz(-*A-*)z(-*A?-*)z	(-*[A-]*)z
(-*A[A-]*)z([-AO]*)z(-*A[-AO]*)z(-*%s-*)z-*rr]r*)	rr
rrrrr rrk)r!rvrrr'r'r(rs$								z!ArgumentParser._get_nargs_patterncsjttgkr;y|jdWntk
r:YnX|rjtkrjrfj}n	j}t	|t
rj|}j|nV|rjt
krjrjdk	rj}n|}j|nt|dkrLjdtgkrL|\}j|}j|njtkrzfdd|D}njtkrfdd|D}j|dn=fdd|D}x|D]}j|qW|S)Nz--rScs"g|]}j|qSr')r)rYv)rvr!r'r(r\s	z.ArgumentParser._get_values.<locals>.<listcomp>cs"g|]}j|qSr')r)rYr)rvr!r'r(r\s	rcs"g|]}j|qSr')r)rYr)rvr!r'r(r\s	)rrrrbr<r
rrrrrr_check_valuerrp)r!rvr#r&rrr')rvr!r(rs>
		
'	
zArgumentParser._get_valuescCs|jd|j|j}t|sFtd}t|||y||}Wntk
rt|jdt|j}tt	j
d}t||Yngttfk
rt|jdt|j}d|d|i}td}t|||YnX|S)Nrz%r is not callablerrSr&z!invalid %(type)s value: %(value)r)
rNrrUrrrr/rrr	rrVr<)r!rvrrZrrr%r[r'r'r(rs 
zArgumentParser._get_valuecCsh|jdk	rd||jkrdd|ddjtt|ji}td}t|||dS)Nr&rz, z3invalid choice: %(value)r (choose from %(choices)s))rr maprrr)r!rvr&r[rr'r'r(r	s
!zArgumentParser._check_valuecCs2|j}|j|j|j|j|jS)N)rrorkrErHrb)r!rVr'r'r(format_usage	s
zArgumentParser.format_usagecCs|j}|j|j|j|j|j|jxK|jD]@}|j|j	|j|j|j
|j|jqBW|j|j
|jS)N)rrorkrErHrir>rGrerdr}rrfr}rb)r!rVaction_groupr'r'r(rb	s
zArgumentParser.format_helpcCs|jd|jS)NrN)r~rN)r!r'r'r(r(	szArgumentParser._get_formattercCs/|dkrtj}|j|j|dS)N)r	r
rr)r!filer'r'r(print_usage.	s	zArgumentParser.print_usagecCs/|dkrtj}|j|j|dS)N)r	r
rrb)r!rr'r'r(r3	s	zArgumentParser.print_helpcCs,|r(|dkrtj}|j|dS)N)r	stderrwrite)r!rrr'r'r(r8	s	zArgumentParser._print_messagercCs*|r|j|tjtj|dS)N)rr	rr)r!statusrr'r'r(rA	szArgumentParser.exitcCsC|jtjd|jd|i}|jdtd|dS)NrNrr3z%(prog)s: error: %(message)s
)rr	rrNrr)r!rr[r'r'r(rwF	s	zArgumentParser.error)rr-r.rrRrrrWrrrrrrrrrrrrrrrrrbrrrrrrwr'r')rr(r)sL4#;,,4	)5__version____all__collectionsrrrosr9rerIsysr	textwraprrrrrr
rrrrrrrr2rrrrr	r	Exceptionrrrrrrrrrrrrrrr
r6r[r]rr'r'r'r(<module>@sx	

	[#%`64"
Back to Directory File Manager