ROOTPLOIT
Server: LiteSpeed
System: Linux server71.web-hosting.com 4.18.0-513.18.1.lve.el8.x86_64 #1 SMP Thu Feb 22 12:55:50 UTC 2024 x86_64
User: niphet (1079)
PHP: 5.3.29
Disabled: NONE
Upload Files
File: //lib64/python3.8/distutils/__pycache__/fancy_getopt.cpython-38.pyc
U

e5dxE@sdZddlZddlZddlZddlZddlTdZedeZedeefZ	e
ddZGd	d
d
Z
ddZd
dejDZddZddZGdddZedkrdZdD]*ZedeedeeeeqdS)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@seZdZdZdddZddZddZd d	d
ZddZd
dZ	ddZ
ddZddZddZ
d!ddZddZd"ddZd#ddZdS)$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
    NcCsN||_i|_|jr|i|_i|_g|_g|_i|_i|_i|_	g|_
dSN)option_tableoption_index_build_indexaliasnegative_alias
short_opts	long_opts
short2long	attr_name	takes_argoption_orderselfrr./usr/lib64/python3.8/distutils/fancy_getopt.py__init__)s	zFancyGetopt.__init__cCs(|j|jD]}||j|d<qdS)Nr)rclearr)roptionrrrr	Qs

zFancyGetopt._build_indexcCs||_|dSr)rr	rrrrset_option_tableVszFancyGetopt.set_option_tablecCs<||jkrtd|n |||f}|j|||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'.)rrrrrr
has_optioncszFancyGetopt.has_optioncCs
|tS)zTranslate long option name 'long_option' to the form it
        has as an attribute of some object: ie., translate hyphens
        to underscores.	translate
longopt_xlaterrrr
get_attr_namehszFancyGetopt.get_attr_namecCs\t|tst|D]@\}}||jkr:td|||f||jkrtd|||fqdS)Nz(invalid %s '%s': option '%s' not definedz0invalid %s '%s': aliased option '%s' not defined)
isinstancedictAssertionErroritemsrr)raliasesZwhatr
optrrr_check_alias_dictns

zFancyGetopt._check_alias_dictcCs||d||_dS)z'Set the aliases for this option parser.r
N)r*r
)rr
rrrset_aliasesxszFancyGetopt.set_aliasescCs||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)rrrrrset_negative_aliases}sz FancyGetopt.set_negative_aliasescCsg|_g|_|ji|_|jD]}t|dkrD|\}}}d}n(t|dkr^|\}}}}ntd|ft|t	rt|dkrt
d||dkst|t	rt|dkst
d	|||j|<|j||d
dkr|r|d}|dd
}d|j|<nF|j
|}|dk	r:|j|r0t
d
||f||jd
<d|j|<|j|}|dk	r|j||j|krt
d||ft|st
d||||j|<|r"|j|||j|d<q"dS)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 only)r
rrrrepeatrlen
ValueErrorr$strrrrrgetr

longopt_rematchr#r)rrlongshorthelpr4Zalias_torrr_grok_option_tablest








zFancyGetopt._grok_option_tablec
Cs|dkrtjdd}|dkr*t}d}nd}|d|j}zt|||j\}}Wn,tjk
r}zt	|W5d}~XYnX|D]\}}t
|dkr|ddkr|j|d}n,t
|dkr|ddd	kst|dd}|j
|}	|	r|	}|j|s:|d
kstd|j|}	|	r6|	}d}nd}|j|}
|rl|j|
dk	rlt||
dd}t||
||j||fq|r||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.
        Nr0TF r/rrz--zboolean option can't have value)sysargvOptionDummyr>joinrgetoptr
errorZDistutilsArgErrorr5rr&r
r8rrrr4getattrsetattrrr)rargsobjectZcreated_objectrZoptsmsgr)valr
attrrrrrEsF 
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_orders

zFancyGetopt.get_option_ordercCsjd}|jD]L}|d}|d}t|}|ddkr:|d}|dk	rJ|d}||kr
|}q
|ddd}d}||}	d	|}
|r|g}nd
g}|jD]}|dd\}}}t||	}
|ddkr|dd}|dkr|
r|d|||
dfn|d
||fn:d||f}|
r4|d|||
dfn|d||
ddD]}||
|qNq|S)zGenerate help text (a list of strings, one per suggested line of
        output) from the option table for this FancyGetopt object.
        rr0r1r2Nr/Nr?zOption summary:r-z  --%-*s  %sz
  --%-*s  z%s (-%s)z  --%-*s)rr5	wrap_textr)rheaderZmax_optrr;r<lZ	opt_widthZ
line_widthZ
text_widthZ
big_indentlinesr=textZ	opt_namesrrr
generate_helpsH



zFancyGetopt.generate_helpcCs0|dkrtj}||D]}||dqdS)N
)rAstdoutrWwrite)rrSfilelinerrr
print_helphszFancyGetopt.print_help)N)NN)NN)N)NN)__name__
__module____qualname____doc__rr	rrrr#r*r+r,r>rErOrWr]rrrrrs
(
	
M
=

OrcCst|}|||||Sr)rr,rE)optionsZnegative_optrJrIparserrrrfancy_getoptos
rdcCsi|]}t|dqS)r?)ord).0Z_wscharrrr
<dictcomp>usrgcCs|dkrgSt||kr|gS|}|t}td|}dd|D}g}|rg}d}|rt|d}|||kr||d|d=||}q\|r|dddkr|d=qq\|r|dkr||dd||d|d|d<|dddkr|d=|d|qN|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)rfZchrrr
<listcomp>szwrap_text.<locals>.<listcomp>rr1r?r@)r5
expandtabsr!WS_TRANSresplitrrD)rVwidthZchunksrUZcur_lineZcur_lenrTrrrrRws:

rRcCs
|tS)zXConvert a long option name to a valid Python identifier by
    changing "-" to "_".
    r )r)rrrtranslate_longoptsrnc@seZdZdZgfddZdS)rCz_Dummy class just used as a place to hold command-line option
    values as instance attributes.cCs|D]}t||dqdS)zkCreate a new OptionDummy instance.  The attributes listed in
        'options' will be initialized to None.N)rH)rrbr)rrrrszOptionDummy.__init__N)r^r_r`rarrrrrrCsrC__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: %drX)rarAstringrkrEZdistutils.errorsZlongopt_patcompiler9Zneg_alias_rer7	maketransr"rrdZ
whitespacerjrRrnrCr^rVwprintrDrrrr<module>s*
T6