MINI MINI MANI MO

Path : /usr/lib64/python3.6/__pycache__/
File Upload :
Current File : //usr/lib64/python3.6/__pycache__/optparse.cpython-36.opt-2.pyc

3


 \@sdZddddddddd	d
ddd
ddddgZdZddlZddlZddlZddZyddlmZmZWn$e	k
rddZddZYnXeZ
GdddeZGdd
d
eZ
Gddde
ZGdddeZGd ddeZGd!d"d"eZGd#d	d	ZGd$d
d
eZGd%ddeZd&d'Zd(d)Zee
d*fee
d*fee
d+fee
d,fd-Zd.d/Zd0dZd=ZGd3ddZd>Zd?ZGd7ddZ Gd8ddZ!Gd9dde!Z"Gd:dde!Z#d;d<Z$eZ%dS)@z1.5.3Optionmake_option
SUPPRESS_HELPSUPPRESS_USAGEValuesOptionContainerOptionGroupOptionParser
HelpFormatterIndentedHelpFormatterTitledHelpFormatter
OptParseErrorOptionErrorOptionConflictErrorOptionValueErrorBadOptionErrorcheck_choicea"
Copyright (c) 2001-2006 Gregory P. Ward.  All rights reserved.
Copyright (c) 2002-2006 Python Software Foundation.  All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:

  * Redistributions of source code must retain the above copyright
    notice, this list of conditions and the following disclaimer.

  * Redistributions in binary form must reproduce the above copyright
    notice, this list of conditions and the following disclaimer in the
    documentation and/or other materials provided with the distribution.

  * Neither the name of the author nor the names of its
    contributors may be used to endorse or promote products derived from
    this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
NcCsd|jjt||fS)Nz<%s at 0x%x: %s>)	__class____name__id)selfr /usr/lib64/python3.6/optparse.py_reprOsr)gettextngettextcCs|S)Nr)messagerrrr\srcCs|dkr|S|S)Nr)ZsingularZpluralnrrrr_src@seZdZddZddZdS)rcCs
||_dS)N)msg)rrrrr__init__hszOptParseError.__init__cCs|jS)N)r)rrrr__str__kszOptParseError.__str__N)r
__module____qualname__r r!rrrrrgsc@seZdZddZddZdS)r
cCs||_t||_dS)N)rstr	option_id)rroptionrrrr uszOptionError.__init__cCs |jrd|j|jfS|jSdS)Nz
option %s: %s)r%r)rrrrr!yszOptionError.__str__N)rr"r#r r!rrrrr
osc@seZdZdS)rN)rr"r#rrrrrsc@seZdZdS)rN)rr"r#rrrrrsc@seZdZddZddZdS)rcCs
||_dS)N)opt_str)rr'rrrr szBadOptionError.__init__cCstd|jS)Nzno such option: %s)_r')rrrrr!szBadOptionError.__str__N)rr"r#r r!rrrrrsc@seZdZddZddZdS)AmbiguousOptionErrorcCstj||||_dS)N)rr 
possibilities)rr'r*rrrr szAmbiguousOptionError.__init__cCstd|jdj|jfS)Nzambiguous option: %s (%s?)z, )r(r'joinr*)rrrrr!szAmbiguousOptionError.__str__N)rr"r#r r!rrrrr)sr)c@seZdZdZddZddZddZdd	Zd
dZdd
Z	ddZ
ddZddZddZ
ddZddZddZddZddZd S)!r	ZnonecCsd|_||_|dkrLyttjd}Wnttfk
rBd}YnX|d8}||_t|t	|d|d|_
|_d|_d|_
d|_||_d|_i|_d|_d|_dS)	NZCOLUMNSPrz%defaultz%s %sz%s=%s)parserindent_incrementintosenvironKeyError
ValueErrorwidthminmax
help_positionmax_help_positioncurrent_indentlevel
help_widthshort_firstdefault_tagoption_strings_short_opt_fmt
_long_opt_fmt)rr0r:r6r>rrrr s$
 zHelpFormatter.__init__cCs
||_dS)N)r/)rr/rrr
set_parserszHelpFormatter.set_parsercCs&|dkrtd|d|d|_dS)N z/invalid metavar delimiter for short options: %rz%s)rDrE)r5rA)rdelimrrrset_short_opt_delimiters
z%HelpFormatter.set_short_opt_delimitercCs&|dkrtd|d|d|_dS)N=rEz.invalid metavar delimiter for long options: %rz%s)rHrE)r5rB)rrFrrrset_long_opt_delimiters
z$HelpFormatter.set_long_opt_delimitercCs"|j|j7_|jd7_dS)Nr)r;r0r<)rrrrindentszHelpFormatter.indentcCs"|j|j8_|jd8_dS)Nr)r;r0r<)rrrrdedentszHelpFormatter.dedentcCstddS)Nzsubclasses must implement)NotImplementedError)rusagerrrformat_usageszHelpFormatter.format_usagecCstddS)Nzsubclasses must implement)rL)rheadingrrrformat_headingszHelpFormatter.format_headingcCs.t|j|jd}d|j}tj||||dS)NrE)Zinitial_indentZsubsequent_indent)r8r6r;textwrapZfill)rtextZ
text_widthrJrrr_format_texts
zHelpFormatter._format_textcCs|r|j|dSdSdS)N
rD)rT)rdescriptionrrrformat_descriptionsz HelpFormatter.format_descriptioncCs|rd|j|dSdSdS)NrUrD)rT)repilogrrr
format_epilogszHelpFormatter.format_epilogcCsR|jdks|jr|jS|jjj|j}|tks8|dkr>|j}|jj|jt	|S)N)
r/r?helpdefaultsgetdest
NO_DEFAULTNO_DEFAULT_VALUEreplacer$)rr&Z
default_valuerrrexpand_defaultszHelpFormatter.expand_defaultcsg}j|}jjd}t||krBdjd|f}j}ndjd||f}d}|j||jrj|}tj|j	}|jd|d|df|j
fdd|ddDn|d
d	kr|jd	dj|S)Nr-z%*s%s
rDz	%*s%-*s  rcsg|]}djd|fqS)z%*s%s
rD)r9).0line)rrr
<listcomp>Esz/HelpFormatter.format_option.<locals>.<listcomp>rrU)r@r9r;lenappendrZrarRZwrapr=extendr+)rr&resultoptsZ	opt_widthZindent_firstZ	help_textZ
help_linesr)rr
format_option(s$



zHelpFormatter.format_optioncCs|jd}x6|jD],}|j|}||j|<t|t||j}qW|jxF|jD]<}x6|jD],}|j|}||j|<t|t||j}q`WqTW|j|jt	|d|j
|_t|j|jd|_
dS)Nrr-rQ)rJoption_listformat_option_stringsr@r8rfr;
option_groupsrKr7r:r9r6r=)rr/Zmax_lenoptZstringsgrouprrrstore_option_stringsKs 



z"HelpFormatter.store_option_stringscst|jrF|jp|jjfdd|jD}fdd|jD}n|j}|j}jrb||}n||}dj|S)Ncsg|]}j|fqSr)rA)rbZsopt)metavarrrrrdasz7HelpFormatter.format_option_strings.<locals>.<listcomp>csg|]}j|fqSr)rB)rbZlopt)rrrrrrdcsz, )takes_valuerrr]upper_short_opts
_long_optsr>r+)rr&Z
short_optsZ	long_optsrjr)rrrrrm]s

z#HelpFormatter.format_option_stringsN)rr"r#r_r rCrGrIrJrKrNrPrTrWrYrarkrqrmrrrrr	s +
#c@s&eZdZdddZddZd	d
ZdS)r
r-NrcCstj|||||dS)N)r	r )rr0r:r6r>rrrr tszIndentedHelpFormatter.__init__cCstd|S)Nz
Usage: %s
)r()rrMrrrrN|sz"IndentedHelpFormatter.format_usagecCsd|jd|fS)Nz%*s%s:
rD)r;)rrOrrrrPsz$IndentedHelpFormatter.format_heading)r-rwNr)rr"r#r rNrPrrrrr
ps
c@s&eZdZd
ddZddZdd	ZdS)rrrwNcCstj|||||dS)N)r	r )rr0r:r6r>rrrr szTitledHelpFormatter.__init__cCsd|jtd|fS)Nz%s  %s
ZUsage)rPr()rrMrrrrNsz TitledHelpFormatter.format_usagecCsd|d|jt|fS)Nz%s
%s
z=-)r<rf)rrOrrrrPsz"TitledHelpFormatter.format_heading)rrwNr)rr"r#r rNrPrrrrrs
cCsh|ddjdkrd}nD|ddjdkrDd}|ddp@d}n|dddkrZd}nd}|||S)	Nr-Z0xZ0b0r
)lower)valtyperadixrrr
_parse_numsrcCs
t|tS)N)rr1)r}rrr
_parse_intsrZintegerzfloating-pointcomplex)r1longfloatrcCsFt|j\}}y||Stk
r@ttd|||fYnXdS)Nzoption %s: invalid %s value: %r)_builtin_cvtr~r5rr()r&rovalueZcvtZwhatrrr
check_builtinsrcCs:||jkr|Sdjtt|j}ttd|||fdS)Nz, z.option %s: invalid choice: %r (choose from %s))choicesr+mapreprrr()r&rorrrrrrs
NODEFAULTc@seZdZddddddddd	d
ddgZdAZdBZdCZdDZdEZdFZ	e
e
e
e
edZdZ
ddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd1d2ZeeeeeeegZ
d3d4ZeZd5d6Zd7d8Zd9d:Zd;d<Zd=d>Z d?d@Z!dS)Gractionr~r]defaultnargsconstrcallback
callback_argscallback_kwargsrZrrstorestore_const
store_truestore_falsergappend_constcountversionstringr1rrrchoice)r1rrrrNcOsFg|_g|_|j|}|j||j|x|jD]}||q2WdS)N)rurv_check_opt_strings_set_opt_strings
_set_attrs
CHECK_METHODS)rrjattrscheckerrrrr 4s


zOption.__init__cCsdd|D}|std|S)NcSsg|]}|r|qSrr)rbrorrrrdKsz-Option._check_opt_strings.<locals>.<listcomp>z+at least one option string must be supplied)	TypeError)rrjrrrrGszOption._check_opt_stringscCsx|D]}t|dkr&td||qt|dkrf|ddkoH|ddksXtd|||jj|q|dddko|ddkstd|||jj|qWdS)	Nr-z>invalid option string %r: must be at least two characters longr-rzMinvalid short option string %r: must be of the form -x, (x any non-dash char)z--zGinvalid long option string %r: must start with --, followed by non-dash)rfr
rurgrv)rrjrorrrrPs$
zOption._set_opt_stringscCszxP|jD]F}||kr,t||||||=q|dkrBt||tqt||dqW|rvt|j}tddj||dS)Nrzinvalid keyword arguments: %sz, )ATTRSsetattrr^sortedkeysr
r+)rrattrrrrreszOption._set_attrscCs2|jdkrd|_n|j|jkr.td|j|dS)Nrzinvalid action: %r)rACTIONSr
)rrrr
_check_actionxs
zOption._check_actioncCs|jdkr0|j|jkr|jdk	r(d|_qd|_n^t|jtrF|jj|_|jdkrVd|_|j|jkrrtd|j||j|jkrtd|j|dS)Nrrr$zinvalid option type: %rz$must not supply a type for action %r)	r~rALWAYS_TYPED_ACTIONSr
isinstancerTYPESr

TYPED_ACTIONS)rrrr_check_type~s



zOption._check_typecCsr|jdkrT|jdkr td|qnt|jttfsntdtt|jjdd|n|jdk	rntd|j|dS)Nrz/must supply a list of choices for type 'choice'z1choices must be a list of strings ('%s' supplied)'rz#must not supply choices for type %r)r~rr
rtuplelistr$split)rrrr
_check_choices


 
zOption._check_choicecCs\|j|jkp|jdk	}|jdkrX|rX|jrH|jdddjdd|_n|jdd|_dS)Nrr-rr(r)r
STORE_ACTIONSr~r]rvr`ru)rrsrrr_check_dests
zOption._check_destcCs*|j|jkr&|jdk	r&td|j|dS)Nz*'const' must not be supplied for action %r)r
CONST_ACTIONSrr
)rrrr_check_constszOption._check_constcCs<|j|jkr|jdkr8d|_n|jdk	r8td|j|dS)Nrz*'nargs' must not be supplied for action %r)rrrr
)rrrr_check_nargss

zOption._check_nargscCs|jdkrvt|js$td|j||jdk	rLt|jtrLtd|j||jdk	rt|jtrtd|j|nB|jdk	rtd|j||jdk	rtd||jdk	rtd|dS)Nrzcallback not callable: %rz3callback_args, if supplied, must be a tuple: not %rz4callback_kwargs, if supplied, must be a dict: not %rz.callback supplied (%r) for non-callback optionz.callback_args supplied for non-callback optionz0callback_kwargs supplied for non-callback option)	rcallablerr
rrrrdict)rrrr_check_callbacks0






zOption._check_callbackcCsdj|j|jS)N/)r+rurv)rrrrr!szOption.__str__cCs
|jdk	S)N)r~)rrrrrsszOption.takes_valuecCs|jr|jdS|jdSdS)Nr)rvru)rrrrget_opt_strings
zOption.get_opt_stringcCs*|jj|j}|dkr|S||||SdS)N)TYPE_CHECKERr\r~)rrorrrrrcheck_valueszOption.check_valuecs:|dk	r6jdkrj|Stfdd|DSdS)Nrcsg|]}j|qSr)r)rbv)rorrrrdsz(Option.convert_value.<locals>.<listcomp>)rrr)rrorr)rorr
convert_values
zOption.convert_valuecCs$|j||}|j|j|j||||S)N)rtake_actionrr])rrorvaluesr/rrrprocessszOption.processc	Cs:|dkrt|||n|dkr2t|||jn|dkrHt||dn|dkr^t||dn|dkrz|j|gj|n|dkr|j|gj|jn|d	krt|||j|d
dn||dkr|jpf}|jpi}|j||||f||nF|d
kr|j|jn*|dkr(|j	|jnt
d|jdS)NrrrTrFrgrrrrrrZrzunknown action %r)rrensure_valuergrrr
print_helpexit
print_versionr5r)	rrr]rorrr/argskwargsrrrrs4





zOption.take_action)
rrrrrgrrrrZr)rrrrrgrr)rrgr)rrg)rr)rr1rrrr)"rr"r#rrrrrrrrrrrr rrrrrrrrrrr!r__repr__rsrrrrrrrrrrs	
		ZSUPPRESSZHELPZUSAGEc@s^eZdZdddZddZeZddZdd	Zd
dZ	dd
Z
dddZdddZddZ
dS)rNcCs*|r&x |jD]\}}t|||qWdS)N)itemsr)rr[rr}rrrr 9szValues.__init__cCs
t|jS)N)r$__dict__)rrrrr!>szValues.__str__cCs2t|tr|j|jkSt|tr*|j|kStSdS)N)rrrrNotImplemented)rotherrrr__eq__Cs



z
Values.__eq__cCs:x4t|D](}||kr
||}|dk	r
t|||q
WdS)N)dirr)rrrZdvalrrr_update_carefulKs
zValues._update_carefulcCs|jj|dS)N)rupdate)rrrrr
_update_looseXszValues._update_loosecCs8|dkr|j|n |dkr(|j|ntd|dS)NcarefulZloosezinvalid update mode: %r)rrr5)rrmoderrr_update`s
zValues._updatercCs&t|tj|}|jt||dS)N)
__import__sysmodulesrvars)rmodnamermodrrrread_modulehs
zValues.read_modulecCs&i}tt|j||j||dS)N)execopenreadr)rfilenamerrrrr	read_filemszValues.read_filecCs0t||st||dkr&t|||t||S)N)hasattrgetattrr)rrrrrrrrszValues.ensure_value)N)r)r)rr"r#r r!rrrrrrrrrrrrrr7s



c@seZdZddZddZddZddZd	d
ZddZd
dZ	ddZ
ddZddZddZ
ddZddZddZddZdd Zd!S)"rcCs&|j||_|j||j|dS)N)_create_option_listoption_classset_conflict_handlerset_description)rrconflict_handlerrVrrrr s
zOptionContainer.__init__cCsi|_i|_i|_dS)N)
_short_opt	_long_optr[)rrrr_create_option_mappingssz'OptionContainer._create_option_mappingscCs|j|_|j|_|j|_dS)N)rrr[)rr/rrr_share_option_mappingssz&OptionContainer._share_option_mappingscCs|dkrtd|||_dS)Nerrorresolvez$invalid conflict_resolution value %r)rr)r5r)rhandlerrrrrsz$OptionContainer.set_conflict_handlercCs
||_dS)N)rV)rrVrrrrszOptionContainer.set_descriptioncCs|jS)N)rV)rrrrget_descriptionszOptionContainer.get_descriptioncCs|`|`|`dS)N)rrr[)rrrrdestroyszOptionContainer.destroycCsg}x,|jD]"}||jkr|j||j|fqWx,|jD]"}||jkr:|j||j|fq:W|r|j}|dkrtddjdd|D|nh|dkrx^|D]V\}}|jdr|jj	||j|=n|jj	||j|=|jp|js|j
jj	|qWdS)Nrz conflicting option string(s): %sz, cSsg|]}|dqS)rr)rbcorrrrdsz3OptionContainer._check_conflict.<locals>.<listcomp>rz--)rurrgrvrrrr+
startswithremove	containerrl)rr&Z
conflict_optsrorZc_optionrrr_check_conflicts.



zOptionContainer._check_conflictcOst|dtr|j||}n:t|dkrN|rN|d}t|tsVtd|ntd|j||jj|||_	x|j
D]}||j|<qzWx|jD]}||j
|<qW|jdk	r|jtk	r|j|j|j<n|j|jkrd|j|j<|S)Nrrznot an Option instance: %rzinvalid arguments)rr$rrfrrrrlrgrrurrvrr]rr^r[)rrrr&rorrr
add_options(



zOptionContainer.add_optioncCsx|D]}|j|qWdS)N)r)rrlr&rrradd_optionss
zOptionContainer.add_optionscCs|jj|p|jj|S)N)rr\r)rr'rrr
get_optionszOptionContainer.get_optioncCs||jkp||jkS)N)rr)rr'rrr
has_options
zOptionContainer.has_optioncCsv|jj|}|dkr |jj|}|dkr4td|x|jD]}|j|=q<Wx|jD]}|j|=qTW|jjj|dS)Nzno such option %r)	rr\rr5rurvrrlr)rr'r&rorrr
remove_optionszOptionContainer.remove_optioncCsB|js
dSg}x(|jD]}|jtk	r|j|j|qWdj|S)NrD)rlrZrrgrkr+)r	formatterrir&rrrformat_option_helps
z"OptionContainer.format_option_helpcCs|j|jS)N)rWr)rrrrrrW(sz"OptionContainer.format_descriptioncCs:g}|jr|j|j||jr0|j|j|dj|S)NrU)rVrgrWrlrr+)rrrirrrformat_help+szOptionContainer.format_helpN)rr"r#r rrrrrrrrrrrrrrWrrrrrrxs  			c@s6eZdZdddZddZddZdd	Zd
dZdS)
rNcCs$||_tj||j|j|||_dS)N)r/rr rrtitle)rr/rrVrrrr 6szOptionGroup.__init__cCsg|_|j|jdS)N)rlrr/)rrrrr<szOptionGroup._create_option_listcCs
||_dS)N)r)rrrrr	set_title@szOptionGroup.set_titlecCstj||`dS)N)rrrl)rrrrrCs
zOptionGroup.destroycCs0|j|j}|j|tj||7}|j|S)N)rPrrJrrrK)rrrirrrrJs
zOptionGroup.format_help)N)rr"r#r rrrrrrrrr4s

c
@s^eZdZgZddedddddddf
ddZddZdd	Zd
dZdd
Z	dOddZ
ddZddZddZ
ddZddZddZddZddZd d!Zd"d#Zd$d%Zd&d'ZdPd(d)Zd*d+Zd,d-Zd.d/Zd0d1Zd2d3Zd4d5Zd6d7Zd8d9ZdQd;d<Z d=d>Z!d?d@Z"dRdAdBZ#dCdDZ$dSdEdFZ%dTdGdHZ&dIdJZ'dUdKdLZ(dVdMdNZ)dS)WrNrTcCsrtj|||||j||	|_||_d|_d|_|dkr@t}||_|jj	||
|_
|j||d|jdS)NT)add_help)
rr 	set_usageprograllow_interspersed_argsprocess_default_valuesr
rrCrX_populate_option_list_init_parsing_state)rrMrlrrrrVrZadd_help_optionrrXrrrr s
zOptionParser.__init__cCs2tj|x|jD]}|jqW|`|`|`dS)N)rrrnrlr)rrprrrrs
zOptionParser.destroycCsg|_g|_|jdS)N)rlrnr)rrrrrsz OptionParser._create_option_listcCs|jdddtdddS)Nz-hz--helprZzshow this help message and exit)rrZ)rr()rrrr_add_help_optionszOptionParser._add_help_optioncCs|jddtdddS)Nz	--versionrz&show program's version number and exit)rrZ)rr()rrrr_add_version_optionsz OptionParser._add_version_optioncCs>|jr|j|j|r |j||jr.|j|r:|jdS)N)standard_option_listrrr
r)rrlrrrrr
s
z"OptionParser._populate_option_listcCsd|_d|_d|_dS)N)rargslargsr)rrrrrsz OptionParser._init_parsing_statecCsL|dkrtd|_n4|tkr$d|_n$|jjdrB|dd|_n||_dS)Nz%prog [options]zusage: )r(rMrr|r)rrMrrrrszOptionParser.set_usagecCs
d|_dS)NT)r)rrrrenable_interspersed_argssz%OptionParser.enable_interspersed_argscCs
d|_dS)NF)r)rrrrdisable_interspersed_argssz&OptionParser.disable_interspersed_argscCs
||_dS)N)r	)rrrrrset_process_default_valuessz'OptionParser.set_process_default_valuescCs||j|<dS)N)r[)rr]rrrrset_defaultszOptionParser.set_defaultcKs|jj|dS)N)r[r)rrrrrset_defaultsszOptionParser.set_defaultscCs.|jdd}x|jD]}|j|jqW|S)N)rlrnrh)rZoptionsrprrr_get_all_optionsszOptionParser._get_all_optionscCsd|jst|jS|jj}x@|jD]4}|j|j}t|tr$|j	}|j
||||j<q$Wt|S)N)r	rr[copyrr\r]rr$rr)rr[r&rr'rrrget_default_valuess


zOptionParser.get_default_valuescOs|t|dtr t|f||}nLt|dkrd|rd|d}t|tsPtd||j|k	rltdntd|jj||S)Nrrznot an OptionGroup instance: %rz"invalid OptionGroup (wrong parser)zinvalid arguments)	rr$rrfrr/r5rnrg)rrrrprrradd_option_group+s


zOptionParser.add_option_groupcCs0|jj|p|jj|}|r,|j|k	r,|jSdS)N)rr\rr)rr'r&rrrget_option_group;s
zOptionParser.get_option_groupcCs&|dkrtjddS|ddSdS)Nr)rargv)rrrrr	_get_argsEszOptionParser._get_argscCs|j|}|dkr|j}||_g|_}||_y|j|||}Wn4ttfk
rv}z|jt	|WYdd}~XnX||}|j
||S)N)rrrrr
_process_argsrrrr$check_values)rrrrrstoperrrrr
parse_argsKs

 zOptionParser.parse_argscCs||fS)Nr)rrrrrrrrszOptionParser.check_valuescCsx|r|d}|dkr |d=dS|dddkr>|j||q|dddkrht|dkrh|j||q|jr|j||d=qdSqWdS)Nrz--r-rr)_process_long_optrf_process_short_optsrrg)rrrrargrrrrs

zOptionParser._process_argscCst||jS)N)
_match_abbrevr)rrorrr_match_long_optszOptionParser._match_long_optc
Cs|jd}d|kr4|jdd\}}|jd|d}n|}d}|j|}|j|}|jr|j}t||kr|jt	dd|||dq|dkr|jd}	qt
|d|}	|d|=n|r|jtd	|nd}	|j||	||dS)
NrrHrTFz.%(option)s option requires %(number)d argumentz/%(option)s option requires %(number)d arguments)r&numberz%s option does not take a value)
poprinsertr'rrsrrfrrrr(r)
rrrr%roZnext_argZhad_explicit_valuer&rrrrrr#s0


zOptionParser._process_long_optcCs|jd}d}d}x|ddD]}d|}|jj|}|d7}|sLt||jr|t|krx|jd||dd}|j}	t||	kr|jt	dd|	||	dq|	dkr|jd}
qt
|d|	}
|d|	=nd}
|j||
|||r Pq WdS)	NrFrrTz.%(option)s option requires %(number)d argumentz/%(option)s option requires %(number)d arguments)r&r()r)rr\rrsrfr*rrrrr)rrrr%r iZchror&rrrrrr$s6
z OptionParser._process_short_optscCs&|jdkrtjjtjdS|jSdS)Nr)rr2pathbasenamerr)rrrr
get_prog_names
zOptionParser.get_prog_namecCs|jd|jS)Nz%prog)r`r.)rsrrrexpand_prog_nameszOptionParser.expand_prog_namecCs|j|jS)N)r0rV)rrrrrszOptionParser.get_descriptionrcCs|rtjj|tj|dS)N)rstderrwriter)rZstatusrrrrrszOptionParser.exitcCs(|jtj|jdd|j|fdS)Nr-z%s: error: %s
)print_usagerr1rr.)rrrrrrszOptionParser.errorcCs"|jr|jj|j|jSdSdS)NrD)rMrrNr0)rrrr	get_usage#szOptionParser.get_usagecCs|jrt|j|ddS)N)file)rMprintr4)rr5rrrr3*s	zOptionParser.print_usagecCs|jr|j|jSdSdS)NrD)rr0)rrrrget_version6szOptionParser.get_versioncCs|jrt|j|ddS)N)r5)rr6r7)rr5rrrr<szOptionParser.print_versioncCs|dkr|j}|j|g}|j|jtd|j|jrZ|jtj|||jdx(|j	D]}|j|j
||jdqbW|jdj|ddS)NZOptionsrUrDrre)
rrqrgrPr(rJrlrrrnrrKr+)rrrirprrrrGs

zOptionParser.format_option_helpcCs|j|jS)N)rYrX)rrrrrrYXszOptionParser.format_epilogcCsn|dkr|j}g}|jr*|j|jd|jrD|j|j|d|j|j||j|j|dj|S)NrUrD)	rrMrgr4rVrWrrYr+)rrrirrrr[szOptionParser.format_helpcCs |dkrtj}|j|jdS)N)rstdoutr2r)rr5rrrrgszOptionParser.print_help)T)NN)rN)N)N)N)N)N)*rr"r#rrr rrrr
r
rrrrrrrrrrrrr"rrr'r#r$r.r0rrrr4r3r7rrrYrrrrrrrRs^F

	

'
3	$)





csZ|krSfdd|jD}t|dkr6|dS|sDtn|jt|dS)Ncsg|]}|jr|qSr)r)rbZword)r/rrrdsz!_match_abbrev.<locals>.<listcomp>rr)rrfrsortr))r/Zwordmapr*r)r/rr&ts
r&)rrZSUPPRESSHELPZ
SUPPRESSUSAGE)&__version____all__Z
__copyright__rr2rRrrrImportErrorr(	Exceptionrr
rrrr)r	r
rrrrrrrrr^rrrrrrrr&rrrrr<module>s| 


P



uA=&

OHA YOOOO