File "fancy_getopt.cpython-34.pyc"

Full Path: /home/attunedd/public_html/byp/izo/con7ext_sym404/rintoar.txt/opt/alt/python34/lib64/python3.4/distutils/__pycache__/fancy_getopt.cpython-34.pyc
File size: 11.3 KB
MIME-type: text/x-bytecode.python
Charset: 8 bit


i fxE@sKdZddlZddlZddlZddlZddlTdZejdeZejdeefZ	e
jddZGd	d
d
Z
ddZd
dejDZddZddZGdddZedkrGdZxKddddfD]7Zedeedjeeeeq	WndS)a6distutils.fancy_getopt

Wrapper around the standard getopt module that provides the following
additional features:
  * short and long options are tied together
  * options have help strings, so fancy_getopt could potentially
    create a complete usage summary
  * options set attributes of a passed-in object
N)*z[a-zA-Z](?:[a-zA-Z0-9-]*)z^%s$z^(%s)=!(%s)$-_c@seZdZdZdddZddZddZddd	d
ZddZd
dZ	ddZ
ddZddZddZ
ddddZddZdddZddddZdS)FancyGetoptaWrapper around the standard 'getopt()' module that provides some
    handy extra functionality:
      * short and long options are tied together
      * options have help strings, and help text can be assembled
        from them
      * options set attributes of a passed-in object
      * boolean options can have "negative aliases" -- eg. if
        --quiet is the "negative alias" of --verbose, then "--quiet"
        on the command line sets 'verbose' to false
    NcCst||_i|_|jr(|jni|_i|_g|_g|_i|_i|_i|_	g|_
dS)N)option_tableoption_index_build_indexaliasnegative_alias
short_opts	long_opts
short2long	attr_name	takes_argoption_order)selfrr;/opt/alt/python34/lib64/python3.4/distutils/fancy_getopt.py__init__)s				
							zFancyGetopt.__init__cCs6|jjx"|jD]}||j|d<qWdS)Nr)rclearr)roptionrrrrQs
zFancyGetopt._build_indexcCs||_|jdS)N)rr)rrrrrset_option_tableVs	zFancyGetopt.set_option_tablecCsR||jkr"td|n,|||f}|jj|||j|<dS)Nz'option conflict: already an option '%s')rDistutilsGetoptErrorrappend)rlong_optionZshort_optionZhelp_stringrrrr
add_optionZszFancyGetopt.add_optioncCs
||jkS)zcReturn true if the option table for this parser has an
        option with long name 'long_option'.)r)rrrrr
has_optioncszFancyGetopt.has_optioncCs
|jtS)zTranslate long option name 'long_option' to the form it
        has as an attribute of some object: ie., translate hyphens
        to underscores.)	translate
longopt_xlate)rrrrr
get_attr_namehszFancyGetopt.get_attr_namecCst|tstxp|jD]b\}}||jkrYtd|||fn||jkr"td|||fq"q"WdS)Nz(invalid %s '%s': option '%s' not definedz0invalid %s '%s': aliased option '%s' not defined)
isinstancedictAssertionErroritemsrr)raliasesZwhatr	optrrr_check_alias_dictnszFancyGetopt._check_alias_dictcCs|j|d||_dS)z'Set the aliases for this option parser.r	N)r&r	)rr	rrrset_aliasesxszFancyGetopt.set_aliasescCs|j|d||_dS)zSet the negative aliases for this option parser.
        'negative_alias' should be a dictionary mapping option names to
        option names, both the key and value must already be defined
        in the option table.znegative aliasN)r&r
)rr
rrrset_negative_aliases}sz FancyGetopt.set_negative_aliasescCsg|_g|_|jji|_xa|jD]V}t|dkrb|\}}}d}n:t|dkr|\}}}}ntd|ft|t	st|dkrt
d|n|dkpt|t	ot|dkst
d	|n||j|<|jj||dd
krq|rQ|d}n|dd}d|j|<na|j
j|}|dk	r|j|rt
d||fn||jd<nd|j|<|jj|}|dk	r&|j||j|kr&t
d
||fq&ntj|sHt
d|n|j||j|<|r2|jj|||j|d<q2q2WdS)zPopulate the various data structures that keep tabs on the
        option table.  Called by 'getopt()' before it can do anything
        worthwhile.
        rzinvalid option tuple: %rz9invalid long option '%s': must be a string of length >= 2Nz:invalid short option '%s': must a single character or None=:z>invalid negative alias '%s': aliased option '%s' takes a valuezginvalid alias '%s': inconsistent with aliased option '%s' (one of them takes a value, the other doesn'tzEinvalid long option name '%s' (must be letters, numbers, hyphens onlyr/r/)rrr
rrepeatrlen
ValueErrorr strrrrr
getr	
longopt_rematchrr)rrlongshorthelpr0Zalias_torrr_grok_option_tables^		
		"
!





zFancyGetopt._grok_option_tablecCs>|dkr"tjdd}n|dkr@t}d}nd}|jdj|j}y"tj|||j\}}Wn4tjk
r}zt	|WYdd}~XnXxh|D]`\}}t
|dkr|ddkr|j|d}n>t
|dkr,|ddd	ks2t|dd}|j
j|}	|	rc|	}n|j|s|d
kstd|jj|}	|	r|	}d}qd}n|j|}
|r|jj|
dk	rt||
dd}nt||
||jj||fqW|r6||fS|SdS)aParse command-line options in args. Store as attributes on object.

        If 'args' is None or not supplied, uses 'sys.argv[1:]'.  If
        'object' is None or not supplied, creates a new OptionDummy
        object, stores option values there, and returns a tuple (args,
        object).  If 'object' is supplied, it is modified in place and
        'getopt()' just returns 'args'; in both cases, the returned
        'args' is a modified copy of the passed-in 'args' list, which
        is left untouched.
        Nr,TF r+rrz--zboolean option can't have value)sysargvOptionDummyr:joinrgetoptrerrorZDistutilsArgErrorr1r
r"r	r4rr
rr0getattrsetattrrr)rargsobjectZcreated_objectrZoptsmsgr%valr	attrrrrrAsF		
"".	
		

zFancyGetopt.getoptcCs)|jdkrtdn|jSdS)zReturns the list of (option, value) tuples processed by the
        previous run of 'getopt()'.  Raises RuntimeError if
        'getopt()' hasn't been called yet.
        Nz!'getopt()' hasn't been called yet)rRuntimeError)rrrrget_option_orderszFancyGetopt.get_option_ordercCsd}x||jD]q}|d}|d}t|}|ddkrS|d}n|dk	rl|d}n||kr|}qqW|ddd}d}||}	d|}
|r|g}n	d	g}x|jD]}|dd
\}}}t||	}
|ddkr'|dd}n|dkrt|
rZ|jd|||
dfq|jd||fnHd
||f}|
r|jd|||
dfn|jd|x)|
ddD]}|j|
|qWqW|S)zGenerate help text (a list of strings, one per suggested line of
        output) from the option table for this FancyGetopt object.
        rr,r-Nr+Nr;zOption summary:r)z  --%-*s  %sz
  --%-*s  z%s (-%s)z  --%-*sr/r/r/)rr1	wrap_textr)rheaderZmax_optrr7r8lZ	opt_widthZ
line_widthZ
text_widthZ
big_indentlinesr9textZ	opt_namesrrr
generate_helpsF






	!	zFancyGetopt.generate_helpcCsG|dkrtj}nx(|j|D]}|j|dq(WdS)N
)r=stdoutrSwrite)rrOfilelinerrr
print_helphszFancyGetopt.print_help)__name__
__module____qualname____doc__rrrrrrr&r'r(r:rArKrSrYrrrrrs
(	
M=
OrcCs)t|}|j||j||S)N)rr(rA)optionsZnegative_optrFrEparserrrrfancy_getoptos
r`cCsi|]}dt|qS)r;)ord).0Z_wscharrrr
<dictcomp>us	rccCs|dkrgSt||kr)|gS|j}|jt}tjd|}dd|D}g}x|r}g}d}xt|rt|d}|||kr|j|d|d=||}q|r|d	ddkr|d
=nPqW|rd|dkrC|j|dd||d|d|d<n|dddkrd|d=qdn|jdj|qrW|S)zwrap_text(text : string, width : int) -> [string]

    Split 'text' into multiple lines of no more than 'width' characters
    each, and return the list of strings that results.
    Nz( +|-+)cSsg|]}|r|qSrr)rbZchrrr
<listcomp>s	zwrap_text.<locals>.<listcomp>rr,r;r<r/r/)r1
expandtabsrWS_TRANSresplitrr@)rRwidthZchunksrQZcur_lineZcur_lenrPrrrrNws:		


rNcCs
|jtS)zXConvert a long option name to a valid Python identifier by
    changing "-" to "_".
    )rr)r%rrrtranslate_longoptsrjc@s%eZdZdZgddZdS)r?z_Dummy class just used as a place to hold command-line option
    values as instance attributes.cCs%x|D]}t||dqWdS)zkCreate a new OptionDummy instance.  The attributes listed in
        'options' will be initialized to None.N)rD)rr^r%rrrrs
zOptionDummy.__init__N)rZr[r\r]rrrrrr?sr?__main__zTra-la-la, supercalifragilisticexpialidocious.
How *do* you spell that odd word, anyways?
(Someone ask Mary -- she'll know [or she'll
say, "How should I know?"].)
(z	width: %drT)r]r=stringrgrAZdistutils.errorsZlongopt_patcompiler5Zneg_alias_rer3	maketransrrr`Z
whitespacerfrNrjr?rZrRwprintr@rrrr<module>	s($
S6