o ?OgxE@s ddlZddlZddlZddlZddlTdZedeZedeefZe ddZ Gdd d Z d d Z d d ejDZddZddZGdddZedkrmdZdD]ZedeedeeeeqWdSdS)N)*z[a-zA-Z](?:[a-zA-Z0-9-]*)z^%s$z ^(%s)=!(%s)$-_c@seZdZ dddZddZddZddd Zd d Zd d ZddZ ddZ ddZ ddZ dddZ ddZdddZdddZdS) FancyGetoptNcCsN||_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=/opt/alt/python310/lib64/python3.10/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_tableVs zFancyGetopt.set_option_tablecCs:||jvr td||||f}|j|||j|<dS)Nz'option conflict: already an option '%s')rDistutilsGetoptErrorrappend)r long_optionZ short_optionZ help_stringrrrr add_optionZs   zFancyGetopt.add_optioncCs ||jvSr)rrrrrr has_optioncs zFancyGetopt.has_optioncCs |tSr translate longopt_xlaterrrr get_attr_nameh zFancyGetopt.get_attr_namecCsN|D] \}}||jvrtd|||f||jvr$td|||fqdS)Nz(invalid %s '%s': option '%s' not definedz0invalid %s '%s': aliased option '%s' not defined)itemsrr)raliasesZwhatr optrrr_check_alias_dictns  zFancyGetopt._check_alias_dictcC ||d||_dS)Nr )r(r )rr rrr set_aliasesxs  zFancyGetopt.set_aliasescCr))Nznegative alias)r(r )rr rrrset_negative_aliases}s  z FancyGetopt.set_negative_aliasescCs g|_g|_|ji|_|jD]}t|dkr"|\}}}d}nt|dkr/|\}}}}ntd|ft|t rAt|dkrGt d||dus\t|t rVt|dks\t d|||j|<|j ||d d kr|rs|d }|dd }d|j |<n!|j |}|dur|j |rt d ||f||jd <d|j |<|j|}|dur|j ||j |krt d ||ft|st d||||j|<|r|j |||j|d<qdS)Nrzinvalid option tuple: %rz9invalid long option '%s': must be a string of length >= 2z: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 ValueError isinstancestrrrrr getr longopt_rematchr#r)rrlongshorthelpr3Zalias_torrr_grok_option_tablesv                   zFancyGetopt._grok_option_tablec CsX |dur tjdd}|durt}d}nd}|d|j}z t|||j\}}Wntjy?}zt |d}~ww|D]a\}}t |dkrZ|ddkrZ|j |d}n|dd}|j |} | rj| }|j|s~|j |} | r|| }d}nd}|j|} |r|j | durt|| dd}t|| ||j||fqB|r||fS|S)Nr/TF r.rr)sysargv OptionDummyr>joinr getoptr errorZDistutilsArgErrorr4rr r8rr rr3getattrsetattrrr) rargsobjectZcreated_objectr Zoptsmsgr'valr attrrrrrDsH         zFancyGetopt.getoptcCs |jdur td|jS)Nz!'getopt()' hasn't been called yet)r RuntimeError)rrrrget_option_orders zFancyGetopt.get_option_ordercCsf d}|jD]&}|d}|d}t|}|ddkr|d}|dur&|d}||kr,|}q|ddd}d}||} d|} |rE|g} nd g} |jD]e}|dd \}}} t| | } |ddkrg|dd}|dur| rz| d ||| dfn&| d ||fnd ||f}| r| d ||| dfn| d|| ddD] }| | |qqK| S)Nrr/r0r1r.Nr?zOption summary:r,z --%-*s %sz --%-*s z%s (-%s)z --%-*s)rr4 wrap_textr)rheaderZmax_optrr;r<lZ opt_widthZ line_widthZ text_widthZ big_indentlinesr=textZ opt_namesrrr generate_helpsN        zFancyGetopt.generate_helpcCs0|durtj}||D] }||dq dS)N )r@stdoutrVwrite)rrRfilelinerrr print_helphs zFancyGetopt.print_helpr)NN)__name__ __module__ __qualname__rr rrrr#r(r*r+r>rDrNrVr\rrrrrs  (    M= OrcCst|}|||||Sr)rr+rD)optionsZ negative_optrIrHparserrrr fancy_getoptos  rbcCsi|]}t|dqS)r?)ord).0Z_wscharrrr usrecCs |durgSt||kr|gS|}|t}td|}dd|D}g}|rg}d}|r[t|d}|||krK||d|d=||}n|rX|dddkrX|d=n|s0|r|dkrv||dd||d|d|d<|dddkr|d=|d||s*|S)Nz( +|-+)cSsg|]}|r|qSrr)rdZchrrr szwrap_text..rr0r?)r4 expandtabsr!WS_TRANSresplitrrC)rUwidthZchunksrTZcur_lineZcur_lenrSrrrrQws@       "rQcCs |tSrr )r'rrrtranslate_longoptr$rmc@seZdZ gfddZdS)rBcCs |D]}t||dqdSr)rG)rr`r'rrrrszOptionDummy.__init__N)r]r^r_rrrrrrBsrB__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: %drW)r@stringrjrDZdistutils.errorsZ longopt_patcompiler9Z neg_alias_rer7 maketransr"rrbZ whitespacerirQrmrBr]rUwprintrCrrrrs0  T6