python (3.11.7)

(root)/
lib/
python3.11/
distutils/
__pycache__/
fancy_getopt.cpython-311.opt-1.pyc

exE	dZddlZddlZddlZddlZddlTdZejdezZejdededZ	e
d	d
ZGddZ
d
ZdejDZdZdZGddZedkrGdZdD]DZedezedeeeeCdSdS)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^(z)=!(z)$-_cpeZdZdZddZdZdZddZdZdZ	d	Z
d
ZdZdZ
dd
ZdZddZddZdS)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
    Nc||_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_orderselfr
s  J/BuggyBox/python/3.11.7/bootstrap/lib/python3.11/distutils/fancy_getopt.py__init__zFancyGetopt.__init__)s{)	 
!
cl|j|jD]}||j|d<dS)Nr)rclearr
)roptions  rrzFancyGetopt._build_indexQsG!!!'	2	2F+1DfQi((	2	2rc<||_|dSr	)r
rrs  rset_option_tablezFancyGetopt.set_option_tableVs"(rc||jvrtd|z|||f}|j|||j|<dS)Nz'option conflict: already an option '%s')rDistutilsGetoptErrorr
append)rlong_optionshort_optionhelp_stringrs     r
add_optionzFancyGetopt.add_optionZse$+++&;kIKK
K"<=F$$V,,,-3Dk***rc||jvS)zcReturn true if the option table for this parser has an
        option with long name 'long_option'.)rrr"s  r
has_optionzFancyGetopt.has_optioncsd///rc6|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_xlater's  r
get_attr_namezFancyGetopt.get_attr_namehs$$]333rc
|D]I\}}||jvrtd|d|d|d||jvrtd|d|d|dJdS)Nzinvalid z 'z': option 'z
' not defined': aliased option ')itemsrr )raliaseswhatr
opts     r_check_alias_dictzFancyGetopt._check_alias_dictns#MMOO	P	PLUCD---**59TT555%%%,IJJJ$+++**=ATT555###,OPPP,		P	Prc@||d||_dS)z'Set the aliases for this option parser.r
N)r4r
)rr
s  rset_aliaseszFancyGetopt.set_aliasesxs#ug...


rc@||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)r4r)rrs  rset_negative_aliasesz FancyGetopt.set_negative_aliases}s)
	
~/?@@@,rcg|_g|_|ji|_|jD]$}t
|dkr	|\}}}d}n-t
|dkr|\}}}}ntd|t|trt
|dkrtd|z|:t|trt
|dkstd	|z||j|<|j||d
dkr|r|dz}|dd
}d|j|<nS|j
|}|-|j|rtd
|d|d||jd
<d|j|<|j|}|2|j||j|krtd|d|dt |std|z|||j|<|r*|j|||j|d<&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: z9invalid long option '%s': must be a string of length >= 2Nz:invalid short option '%s': must a single character or None=:zinvalid negative alias 'r/z' takes a valuezinvalid alias 'z%': inconsistent with aliased option 'z/' (one of them takes a value, the other doesn'tzEinvalid long option name '%s' (must be letters, numbers, hyphens only)rrrrrepeatr
len
ValueError
isinstancestrr r!rrgetr

longopt_rematchr-r)rrlongshorthelprAalias_tos       r_grok_option_tablezFancyGetopt._grok_option_tables
'A	1A	1F6{{a$*!eTV!!,2)eT66!jvv!GHHHdC((
BCIIMM*-9<@,ABBBm ,,$14Uq*,9;@,ABBB!'DKN!!$'''Bx3-%#+%AbDz'(t$$ .22488'~h/222"&xxx1222
*.DN2&'(t$z~~d++H#>$'4>(+CCC.."TT888-...##D))
I*ACGHIII$(#5#5d#;#;DN4 
1&&u---,0a)CA	1A	1rcJ|tjdd}|t}d}nd}|d|j}	t
j|||j\}}n&#tj$r}t|d}~wwxYw|D]\}}t|dkr |ddkr|j|d}n
|dd}|j
|}	|	r|	}|j|s#|j
|}	|	r|	}d}nd}|j|}
|r.|j
|
t%||
ddz}t'||
||j||f|r||fS|S)	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<rr)sysargvOptionDummyrMjoinrgetoptrerrorDistutilsArgErrorrBrr
rFrrrrAgetattrsetattrrr!)rargsobjectcreated_objectroptsmsgr3valr
attrs           rrTzFancyGetopt.getopts<8ABB<D> ]]F!NN"N!!!XXdo..
	)tZHHJD$$|	)	)	)#C(((	)	1	1HC3xx1}}Q3oc!f-!""gJNN3''E
>#&
+//44CCCC>#&D
3t{t,,8fdA..2FD#&&&$$c3Z0000	<KsA::B	BBc<|jtd|jS)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)rs rget_option_orderzFancyGetopt.get_option_orders%
$BCCC$$rcd}|jD]A}|d}|d}t|}|ddkr|dz
}||dz}||kr|}B|dzdzdz}d}||z
}	d	|z}
|r|g}nd
g}|jD]}|dd\}}}t||	}
|ddkr
|dd}|?|
r"|d|||
dfzn_|d
||fznD|d|d}|
r"|d|||
dfzn|d|z|
ddD]}||
|z|S)zGenerate help text (a list of strings, one per suggested line of
        output) from the option table for this FancyGetopt object.
        rr=r>r?Nr<NrOzOption summary:r:z  --%-*s  %sz
  --%-*s  z (-)z  --%-*s)r
rB	wrap_textr!)rheadermax_optrrIrJl	opt_width
line_width
text_width
big_indentlinesrKtext	opt_namess               r
generate_helpzFancyGetopt.generate_helps'				F!9D1IED		ABx3E E7{{aK!Oa'	0
)+
9_
	(HEE&'E'	-	-F &rr
D%T:..DBx3AbDz}ALL7D$q'2J!JKKKKLL$!?@@@@
+/$$6	9LL")9d1g!>"?@@@@LLi!7888!""X
-
-Z!^,,,,
-rc|tj}||D]}||dzdS)N
)rPstdoutrrwrite)rrhfilelines    r
print_helpzFancyGetopt.print_helphsN<:D&&v..	$	$DJJtd{####	$	$rr	)NN)__name__
__module____qualname____doc__rrrr%r(r-r4r6r8rMrTrbrrryrrrrs		&&&&P222
4444000
444PPP
---K1K1K1Z;;;;z%%%MMMM^$$$$$$rrcvt|}|||||Sr	)rr8rT)optionsnegative_optrZrYparsers     rfancy_getoptros7

!
!F
---==v&&&rc.i|]}t|dS)rO)ord).0_wschars  r
<dictcomp>rus @@@7CLL3@@@rc|gSt||kr|gS|}|t}t	jd|}d|D}g}|rg}d}|r\t|d}||z|kr$||d|d=||z}n|r|dddkr|d=n|\|rQ|dkr6||dd||d|d|d<|dddkr|d=|d|||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( +|-+)cg|]}||Sr~r~)rchs  r
<listcomp>zwrap_text.<locals>.<listcomp>s
(
(
(RR
(b
(
(
(rrr>rO)rB
expandtabsr+WS_TRANSresplitr!rS)rpwidthchunksrocur_linecur_lenrjs       rrgrgws|	
4yyEv
??D>>(##D
Xj$
'
'F
(
(6
(
(
(FE
 (
	F1IA{e##q	***1I!A+%Q3 6 6 
		!||q	!E' 2333"1Ieff-q	
ay|s""1I	RWWX&&'''A (DLrc6|tS)zXConvert a long option name to a valid Python identifier by
    changing "-" to "_".
    r*)r3s rtranslate_longoptrs=='''rceZdZdZgfdZdS)rRz_Dummy class just used as a place to hold command-line option
    values as instance attributes.c2|D]}t||ddS)zkCreate a new OptionDummy instance.  The attributes listed in
        'options' will be initialized to None.N)rX)rrr3s   rrzOptionDummy.__init__s2	%	%CD#t$$$$	%	%rN)rzr{r|r}rr~rrrRrRs7&& "%%%%%%rrR__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}rPstringrrTdistutils.errorslongopt_patcompilerGneg_alias_rerE	maketransr,rr
whitespacerrgrrRrzrpwprintrSr~rr<module>rs



+
RZ+-
.
.
rzzKKKEFF

c3''
O$O$O$O$O$O$O$O$d
'''A@f.?@@@333l(((%%%%%%%%z D
kAo
dii		$**++,,,
r