grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026 й¼]¸ëã@s›dZddddddddd d d d d dddgZdZddlZddlZddlZdd„ZyddlmZmZWn*e k r¸dd„Zdd„ZYnXeZ Gdd „d e ƒZ Gdd „d e ƒZ Gdd„de ƒZGdd„de ƒZGdd„de ƒZGd d!„d!eƒZGd"d „d ƒZGd#d „d eƒZGd$d „d eƒZd%d&„Zd'd(„Zd)ee d*ƒfd+ee d*ƒfd,ee d-ƒfd.ee d.ƒfiZd/d0„Zd1d2„Zd3d4fZGd5d„dƒZd6d7Zd6d8ZGd9d„dƒZ Gd:d„dƒZ!Gd;d„de!ƒZ"Gd<d„de!ƒZ#d=d>„Z$eZ%dS)?z1.5.3ÚOptionÚ make_optionÚ SUPPRESS_HELPÚSUPPRESS_USAGEÚValuesÚOptionContainerÚ OptionGroupÚ OptionParserÚ HelpFormatterÚIndentedHelpFormatterÚTitledHelpFormatterÚ OptParseErrorÚ OptionErrorÚOptionConflictErrorÚOptionValueErrorÚBadOptionErrora" 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)Úself©rú-/opt/alt/python35/lib64/python3.5/optparse.pyÚ_reprNsr)ÚgettextÚngettextcCs|S)Nr)Úmessagerrrr[srcCs|dkr|S|S)Nér)ZsingularÚpluralÚnrrrr^s rc@s(eZdZdd„Zdd„ZdS)r cCs ||_dS)N)Úmsg)rrrrrÚ__init__gszOptParseError.__init__cCs|jS)N)r)rrrrÚ__str__jszOptParseError.__str__N)rÚ __module__Ú __qualname__r r!rrrrr fs  c@s(eZdZdd„Zdd„ZdS)r cCs||_t|ƒ|_dS)N)rÚstrÚ option_id)rrÚoptionrrrr ts zOptionError.__init__cCs(|jrd|j|jfS|jSdS)Nz option %s: %s)r%r)rrrrr!xs zOptionError.__str__N)rr"r#r r!rrrrr ns  c@seZdZdS)rN)rr"r#rrrrr~s c@seZdZdS)rN)rr"r#rrrrrƒs c@s(eZdZdd„Zdd„ZdS)rcCs ||_dS)N)Úopt_str)rr'rrrr �szBadOptionError.__init__cCstdƒ|jS)Nzno such option: %s)Ú_r')rrrrr!�szBadOptionError.__str__N)rr"r#r r!rrrrr‰s  c@s(eZdZdd„Zdd„ZdS)ÚAmbiguousOptionErrorcCstj||ƒ||_dS)N)rr Ú possibilities)rr'r*rrrr —szAmbiguousOptionError.__init__cCs#tdƒ|jdj|jƒfS)Nzambiguous option: %s (%s?)z, )r(r'Újoinr*)rrrrr!›s zAmbiguousOptionError.__str__N)rr"r#r r!rrrrr)“s  r)c@sÊeZdZdZdd„Zdd„Zdd„Zdd „Zd d „Zd d „Z dd„Z dd„Z dd„Z dd„Z dd„Zdd„Zdd„Zdd„Zdd„Zd S)!r ZnonecCsßd|_||_|dkr`yttjdƒ}Wnttfk rUd}YnX|d8}||_t|t |d|dƒƒ|_ |_ d|_ d|_ d|_||_d|_i|_d|_d|_dS) NÚCOLUMNSéPéérz%defaultz%s %sz%s=%s)ÚparserÚindent_incrementÚintÚosÚenvironÚKeyErrorÚ ValueErrorÚwidthÚminÚmaxÚ help_positionÚmax_help_positionÚcurrent_indentÚlevelÚ help_widthÚ short_firstÚ default_tagÚoption_stringsÚ_short_opt_fmtÚ _long_opt_fmt)rr1r;r7r?rrrr Ís$      *       zHelpFormatter.__init__cCs ||_dS)N)r0)rr0rrrÚ set_parseræszHelpFormatter.set_parsercCs1|dkrtd|ƒ‚d|d|_dS)NÚú z/invalid metavar delimiter for short options: %rz%s)rErF)r6rB)rÚdelimrrrÚset_short_opt_delimiterés  z%HelpFormatter.set_short_opt_delimitercCs1|dkrtd|ƒ‚d|d|_dS)Nú=rFz.invalid metavar delimiter for long options: %rz%s)rIrF)r6rC)rrGrrrÚset_long_opt_delimiterïs  z$HelpFormatter.set_long_opt_delimitercCs%|j|j7_|jd7_dS)Nr)r<r1r=)rrrrÚindentõszHelpFormatter.indentcCs%|j|j8_|jd8_dS)Nr)r<r1r=)rrrrÚdedentùszHelpFormatter.dedentcCstdƒ‚dS)Nzsubclasses must implement)ÚNotImplementedError)rÚusagerrrÚ format_usageþszHelpFormatter.format_usagecCstdƒ‚dS)Nzsubclasses must implement)rM)rÚheadingrrrÚformat_headingszHelpFormatter.format_headingcCsBt|j|jdƒ}d|j}tj||d|d|ƒS)Né rFÚinitial_indentÚsubsequent_indent)r9r7r<ÚtextwrapÚfill)rÚtextÚ text_widthrKrrrÚ _format_texts   zHelpFormatter._format_textcCs|r|j|ƒdSdSdS)NÚ rE)rY)rÚ descriptionrrrÚformat_descriptionsz HelpFormatter.format_descriptioncCs#|rd|j|ƒdSdSdS)NrZrE)rY)rÚepilogrrrÚ format_epilogszHelpFormatter.format_epilogcCsu|jdks|j r |jS|jjj|jƒ}|tksP|dkrY|j}|jj|jt |ƒƒS)N) r0r@ÚhelpÚdefaultsÚgetÚdestÚ NO_DEFAULTÚNO_DEFAULT_VALUEÚreplacer$)rr&Z default_valuerrrÚexpand_defaults  zHelpFormatter.expand_defaultcs)g}ˆj|}ˆjˆjd}t|ƒ|kr[dˆjd|f}ˆj}ndˆjd||f}d}|j|ƒ|jrÿˆj|ƒ}tj|ˆj ƒ}|jd|d|dfƒ|j ‡fdd†|dd…Dƒƒn|d d kr|jd ƒdj |ƒS) Nr.z%*s%s rEz %*s%-*s rcs&g|]}dˆjd|f‘qS)z%*s%s rE)r:)Ú.0Úline)rrrú Ds z/HelpFormatter.format_option..rrZéÿÿÿÿ) rAr:r<ÚlenÚappendr_rfrUÚwrapr>Úextendr+)rr&ÚresultÚoptsZ opt_widthÚ indent_firstÚ help_textÚ help_linesr)rrÚ format_option's$     zHelpFormatter.format_optioncCs|jƒd}xI|jD]>}|j|ƒ}||j|}|j|ƒ}||j|)rr0Zmax_lenÚoptÚstringsÚgrouprrrÚstore_option_stringsJs      $  z"HelpFormatter.store_option_stringscs¤|jƒre|jp!|jjƒ‰‡‡fdd†|jDƒ}‡‡fdd†|jDƒ}n|j}|j}ˆjr�||}n ||}dj|ƒS)Ncs#g|]}ˆj|ˆf‘qSr)rB)rgZsopt)Úmetavarrrrri`s z7HelpFormatter.format_option_strings..cs#g|]}ˆj|ˆf‘qSr)rC)rgZlopt)r|rrrribs z, )Ú takes_valuer|rbÚupperÚ _short_optsÚ _long_optsr?r+)rr&Z short_optsZ long_optsrpr)r|rrrv\s       z#HelpFormatter.format_option_stringsN)rr"r#rdr rDrHrJrKrLrOrQrYr\r^rfrtr{rvrrrrr  s +           # c@s@eZdZdddddd„Zdd„Zd d „ZdS) r r.éNrcCstj|||||ƒdS)N)r r )rr1r;r7r?rrrr sszIndentedHelpFormatter.__init__cCstdƒ|S)Nz Usage: %s )r()rrNrrrrO{sz"IndentedHelpFormatter.format_usagecCsd|jd|fS)Nz%*s%s: rE)r<)rrPrrrrQ~sz$IndentedHelpFormatter.format_heading)rr"r#r rOrQrrrrr os  c@s@eZdZdddddd„Zdd„Zdd „ZdS) r rr�NcCstj|||||ƒdS)N)r r )rr1r;r7r?rrrr †szTitledHelpFormatter.__init__cCsd|jtdƒƒ|fS)Nz%s %s ZUsage)rQr()rrNrrrrOŽsz TitledHelpFormatter.format_usagecCsd|d|jt|ƒfS)Nz%s %s z=-)r=rk)rrPrrrrQ‘sz"TitledHelpFormatter.format_heading)rr"r#r rOrQrrrrr ‚s  cCs’|dd…jƒdkr%d}n`|dd…jƒdkr`d}|dd…pZd}n%|dd…dkrd}nd}|||ƒS) Nr.Ú0xéZ0bÚ0réé )Úlower)ÚvalÚtypeÚradixrrrÚ _parse_num•s  r‹cCs t|tƒS)N)r‹r2)rˆrrrÚ _parse_int¢srŒr2ZintegerÚlongÚfloatzfloating-pointÚcomplexc CsYt|j\}}y||ƒSWn1tk rTttdƒ|||fƒ‚YnXdS)Nzoption %s: invalid %s value: %r)Ú _builtin_cvtr‰r6rr()r&rxÚvalueZcvtZwhatrrrÚ check_builtinªs  r’cCsQ||jkr|Sdjtt|jƒƒ}ttdƒ|||fƒ‚dS)Nz, z.option %s: invalid choice: %r (choose from %s))Úchoicesr+ÚmapÚreprrr()r&rxr‘r“rrrÚ check_choice²s  r–ZNOZDEFAULTc @s�eZdZddddddddd d d d g Zd@ZdAZdBZdCZdDZdEZ de de de de de iZ dZ dd„Zdd„Zd d!„Zd"d#„Zd$d%„Zd&d'„Zd(d)„Zd*d+„Zd,d-„Zd.d/„Zd0d1„ZeeeeeeegZ d2d3„ZeZd4d5„Zd6d7„Zd8d9„Zd:d;„Zd<d=„Z d>d?„Z!dS)FrÚactionr‰rbÚdefaultÚnargsÚconstr“ÚcallbackÚ callback_argsÚcallback_kwargsr_r|ÚstoreÚ store_constÚ store_trueÚ store_falserlÚ append_constÚcountÚversionÚstringr2r�rŽr�ÚchoiceNcOs]g|_g|_|j|ƒ}|j|ƒ|j|ƒx|jD]}||ƒqEWdS)N)rr€Ú_check_opt_stringsÚ_set_opt_stringsÚ _set_attrsÚ CHECK_METHODS)rrpÚattrsÚcheckerrrrr 3s    zOption.__init__cCs)dd„|Dƒ}|s%tdƒ‚|S)NcSsg|]}|r|‘qSrr)rgrxrrrriJs z-Option._check_opt_strings..z+at least one option string must be supplied)Ú TypeError)rrprrrr§Fs zOption._check_opt_stringscCsÞx×|D]Ï}t|ƒdkr5td||ƒ‚qt|ƒdkr�|ddkod|ddksztd||ƒ‚|jj|ƒq|dd…dko°|ddksÆtd||ƒ‚|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)rkr rrlr€)rrprxrrrr¨Os$   & zOption._set_opt_stringscCs¥xj|jD]_}||kr:t||||ƒ||=q |dkrYt||tƒq t||dƒq W|r¡t|jƒƒ}tddj|ƒ|ƒ‚dS)Nr˜zinvalid keyword arguments: %sz, )ÚATTRSÚsetattrrcÚsortedÚkeysr r+)rr«Úattrrrrr©ds   zOption._set_attrscCsG|jdkrd|_n(|j|jkrCtd|j|ƒ‚dS)Nržzinvalid action: %r)r—ÚACTIONSr )rrrrÚ _check_actionws zOption._check_actioncCsÕ|jdkrH|j|jkrÑ|jdk r<d|_qÑd|_n‰t|jtƒri|jj|_|jdkr�d|_|j|jkr©td|j|ƒ‚|j|jkrÑtd|j|ƒ‚dS)Nr¦r¥r$zinvalid option type: %rz$must not supply a type for action %r) r‰r—ÚALWAYS_TYPED_ACTIONSr“Ú isinstancerÚTYPESr Ú TYPED_ACTIONS)rrrrÚ _check_type}s   zOption._check_typecCs£|jdkrz|jdkr0td|ƒ‚qŸt|jttfƒsŸtdtt|jƒƒjdƒd|ƒ‚n%|jdk rŸtd|j|ƒ‚dS)Nr¦z/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‰r“r r·ÚtupleÚlistr$Úsplit)rrrrÚ _check_choice•s,zOption._check_choicecCs€|j|jkp|jdk }|jdkr||r||jrh|jddd…jddƒ|_n|jdd|_dS)Nrr.r®r(r)r—Ú STORE_ACTIONSr‰rbr€rer)rr}rrrÚ _check_dest¢s  )zOption._check_destcCs;|j|jkr7|jdk r7td|j|ƒ‚dS)Nz*'const' must not be supplied for action %r)r—Ú CONST_ACTIONSršr )rrrrÚ _check_const±s! zOption._check_constcCsV|j|jkr-|jdkrRd|_n%|jdk rRtd|j|ƒ‚dS)Nrz*'nargs' must not be supplied for action %r)r—r¹r™r )rrrrÚ _check_nargs·s  zOption._check_nargscCs |jdkr§t|jƒs4td|j|ƒ‚|jdk rlt|jtƒ rltd|j|ƒ‚|jdk rt|jtƒ rtd|j|ƒ‚na|jdk rÌtd|j|ƒ‚|jdk rêtd|ƒ‚|jdk rtd|ƒ‚dS)Nr›zcallback 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) r—Úcallabler›r rœr·r¼r�Údict)rrrrÚ_check_callbackÀs0 zOption._check_callbackcCsdj|j|jƒS)Nú/)r+rr€)rrrrr!çszOption.__str__cCs |jdk S)N)r‰)rrrrr}ìszOption.takes_valuecCs#|jr|jdS|jdSdS)Nr)r€r)rrrrÚget_opt_stringïs  zOption.get_opt_stringcCs9|jj|jƒ}|dkr%|S||||ƒSdS)N)Ú TYPE_CHECKERrar‰)rrxr‘r¬rrrÚ check_valueøs zOption.check_valuecsO|dk rKˆjdkr+ˆjˆ|ƒSt‡‡fdd†|DƒƒSdS)Nrcs"g|]}ˆjˆ|ƒ‘qSr)rË)rgÚv)rxrrrris z(Option.convert_value..)r™rËr¼)rrxr‘r)rxrrÚ convert_valueÿs zOption.convert_valuecCs4|j||ƒ}|j|j|j||||ƒS)N)rÍÚ take_actionr—rb)rrxr‘Úvaluesr0rrrÚprocessszOption.processc Cs§|dkrt|||ƒn„|dkrAt|||jƒnb|dkr`t||dƒnC|dkrt||dƒn$|dkr§|j|gƒj|ƒnü|dkrÒ|j|gƒj|jƒnÑ|d krt|||j|d ƒd ƒn¢|d krJ|jpf}|jp(i}|j||||||ŽnY|d krm|jƒ|jƒn6|dkr�|j ƒ|jƒnt d|j ƒ‚d S)NržrŸr Tr¡Frlr¢r£rrr›r_r¤zunknown action %r) r°ršÚ ensure_valuerlrœr�r›Ú print_helpÚexitÚ print_versionr6r—) rr—rbrxr‘rÏr0ÚargsÚkwargsrrrrÎs4       #       zOption.take_action) ržrŸr r¡rlr¢r£r›r_r¤)ržrŸr r¡rlr¢r£)ržrlr›)ržrl)rŸr¢)r¥r2r�rŽr�r¦)"rr"r#r¯r´rÀr¹r¶rÂr¸r’r–rÊrªr r§r¨r©rµrºr¿rÁrÃrÄrÇr!rÚ__repr__r}rÉrËrÍrÐrÎrrrrrÀsŠ                 ÚSUPPRESSZHELPZUSAGEc@s‹eZdZddd„Zdd„ZeZdd„Zdd „Zd d „Z d d „Z ddd„Z ddd„Z dd„Z dS)rNcCs7|r3x*|jƒD]\}}t|||ƒqWdS)N)Úitemsr°)rr`r³rˆrrrr 8szValues.__init__cCs t|jƒS)N)r$Ú__dict__)rrrrr!=szValues.__str__cCsCt|tƒr|j|jkSt|tƒr;|j|kStSdS)N)r·rrÚrÆÚNotImplemented)rÚotherrrrÚ__eq__Bs  z Values.__eq__cCsMxFt|ƒD]8}||kr ||}|dk r t|||ƒq WdS)N)Údirr°)rrÆr³ZdvalrrrÚ_update_carefulJs    zValues._update_carefulcCs|jj|ƒdS)N)rÚÚupdate)rrÆrrrÚ _update_looseWszValues._update_loosecCsL|dkr|j|ƒn,|dkr8|j|ƒntd|ƒ‚dS)NÚcarefulZloosezinvalid update mode: %r)rßrár6)rrÆÚmoderrrÚ_update_s   zValues._updaterâcCs1t|ƒtj|}|jt|ƒ|ƒdS)N)Ú __import__ÚsysÚmodulesräÚvars)rÚmodnamerãÚmodrrrÚ read_modulegs  zValues.read_modulecCs3i}tt|ƒjƒ|ƒ|j||ƒdS)N)ÚexecÚopenÚreadrä)rÚfilenamerãrèrrrÚ read_filelszValues.read_filecCsBt||ƒ s%t||ƒdkr5t|||ƒt||ƒS)N)ÚhasattrÚgetattrr°)rr³r‘rrrrÑqs%zValues.ensure_value)rr"r#r r!rr×rÝrßrárärërðrÑrrrrr6s     c@sÐeZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd d„Z dd„Z dd„Z dd„Z dd„Z dd„Zdd„Zdd„Zdd„Zdd „Zd!S)"rcCs1|jƒ||_|j|ƒ|j|ƒdS)N)Ú_create_option_listÚ option_classÚset_conflict_handlerÚset_description)rrôÚconflict_handlerr[rrrr —s   zOptionContainer.__init__cCsi|_i|_i|_dS)N)Ú _short_optÚ _long_optr`)rrrrÚ_create_option_mappings¢s  z'OptionContainer._create_option_mappingscCs(|j|_|j|_|j|_dS)N)rørùr`)rr0rrrÚ_share_option_mappings«s  z&OptionContainer._share_option_mappingscCs)|dkrtd|ƒ‚||_dS)NÚerrorÚresolvez$invalid conflict_resolution value %r)rürý)r6r÷)rÚhandlerrrrrõ²s z$OptionContainer.set_conflict_handlercCs ||_dS)N)r[)rr[rrrrö·szOptionContainer.set_descriptioncCs|jS)N)r[)rrrrÚget_descriptionºszOptionContainer.get_descriptioncCs|`|`|`dS)N)rørùr`)rrrrÚdestroy¾szOptionContainer.destroycCsYg}x:|jD]/}||jkr|j||j|fƒqWx:|jD]/}||jkrM|j||j|fƒqMW|rU|j}|dkrÇtddjdd„|Dƒƒ|ƒ‚nŽ|dkrUx|D]w\}}|jdƒr|jj |ƒ|j|=n|jj |ƒ|j|=|jp;|jsÚ|j j j |ƒqÚWdS)Nrüz conflicting option string(s): %sz, cSsg|]}|d‘qS)rr)rgÚcorrrriÕs z3OptionContainer._check_conflict..rýz--) rrørlr€rùr÷rr+Ú startswithÚremoveÚ containerru)rr&Z conflict_optsrxrþZc_optionrrrÚ_check_conflictÇs.      zOptionContainer._check_conflictcOs;t|dtƒr(|j||Ž}nQt|ƒdkrm| rm|d}t|tƒsytd|ƒ‚n tdƒ‚|j|ƒ|jj|ƒ||_ x|j D]}||j |„Z!d?d@„Z"ddAdB„Z#dCdD„Z$ddEdF„Z%ddGdH„Z&dIdJ„Z'ddKdL„Z(ddMdN„Z)dS)OrNrüTc CsŸtj||||ƒ|j|ƒ| |_||_d|_d|_|dkr\tƒ}||_|jj |ƒ| |_ |j |d|ƒ|j ƒdS)NTÚadd_help) rr Ú set_usageÚprogr¤Úallow_interspersed_argsÚprocess_default_valuesr r rDr]Ú_populate_option_listÚ_init_parsing_state) rrNrurôr¤r÷r[r Zadd_help_optionrr]rrrr ™s           zOptionParser.__init__cCsAtj|ƒx|jD]}|jƒqW|`|`|`dS)N)rrrwrur )rrzrrrr»s  zOptionParser.destroycCs g|_g|_|jƒdS)N)rurwrú)rrrrróÍs  z OptionParser._create_option_listcCs&|jdddddtdƒƒdS)Nz-hz--helpr—r_zshow this help message and exit)rr()rrrrÚ_add_help_optionÒszOptionParser._add_help_optioncCs#|jddddtdƒƒdS)Nz --versionr—r¤r_z&show program's version number and exit)rr()rrrrÚ_add_version_option×s z OptionParser._add_version_optioncCsS|jr|j|jƒ|r,|j|ƒ|jr?|jƒ|rO|jƒdS)N)Ústandard_option_listrr¤rr)rrurrrrrÜs    z"OptionParser._populate_option_listcCsd|_d|_d|_dS)N)ÚrargsÚlargsrÏ)rrrrræs  z OptionParser._init_parsing_statecCsn|dkrtdƒ|_nL|tkr6d|_n4|jƒjdƒra|dd…|_n ||_dS)Nz%prog [options]zusage: é)r(rNrr‡r)rrNrrrrïs   zOptionParser.set_usagecCs d|_dS)NT)r)rrrrÚenable_interspersed_argsúsz%OptionParser.enable_interspersed_argscCs d|_dS)NF)r)rrrrÚdisable_interspersed_argssz&OptionParser.disable_interspersed_argscCs ||_dS)N)r)rrÐrrrÚset_process_default_values sz'OptionParser.set_process_default_valuescCs||j|ttfk rŸ}z|jt |ƒƒWYdd}~XnX||}|j ||ƒS)N) r)r%rrrÏÚ _process_argsrrrür$Ú check_values)rrÕrÏrrÚstopÚerrrrrÚ parse_argsJs    & zOptionParser.parse_argscCs ||fS)Nr)rrÏrÕrrrr+qs zOptionParser.check_valuescCsºx³|rµ|d}|dkr*|d=dS|dd…dkrS|j||ƒq|dd…dkrŽt|ƒdkrŽ|j||ƒq|jr®|j|ƒ|d=qdSqWdS)Nrz--r.rr®)Ú_process_long_optrkÚ_process_short_optsrrl)rrrrÏÚargrrrr*~s   (   zOptionParser._process_argscCst||jƒS)N)Ú _match_abbrevrù)rrxrrrÚ_match_long_opt±szOptionParser._match_long_optc CsK|jdƒ}d|krL|jddƒ\}}|jd|ƒd}n |}d}|j|ƒ}|j|}|jƒr |j}t|ƒ|krÇ|jt dd|ƒd|d |iƒq1|dkrå|jdƒ} q1t |d|…ƒ} |d|…=n&|r+|jt d ƒ|ƒnd} |j || ||ƒdS) NrrIrTFz.%(option)s option requires %(number)d argumentz/%(option)s option requires %(number)d argumentsr&Únumberz%s option does not take a value) Úpopr¾Úinsertr3rùr}r™rkrürr¼r(rÐ) rrrÏr1rxZnext_argZhad_explicit_valuer&r™r‘rrrr/ºs0       zOptionParser._process_long_optc Cs^|jdƒ}d}d}x<|dd…D]*}d|}|jj|ƒ}|d7}|sjt|ƒ‚|jƒr3|t|ƒkr¨|jd||d…ƒd}|j} t|ƒ| krï|jt dd| ƒd|d | iƒq9| dkr |jdƒ} q9t |d| …ƒ} |d| …=nd} |j || ||ƒ|r,Pq,WdS) NrFrr®Tz.%(option)s option requires %(number)d argumentz/%(option)s option requires %(number)d argumentsr&r4) r5rørarr}rkr6r™rürr¼rÐ) rrrÏr1r,ÚiZchrxr&r™r‘rrrr0Þs6       z OptionParser._process_short_optscCs1|jdkr&tjjtjdƒS|jSdS)Nr)rr3ÚpathÚbasenamerær()rrrrÚ get_prog_nameszOptionParser.get_prog_namecCs|jd|jƒƒS)Nz%prog)rer:)rÚsrrrÚexpand_prog_name szOptionParser.expand_prog_namecCs|j|jƒS)N)r<r[)rrrrrÿszOptionParser.get_descriptionrcCs'|rtjj|ƒtj|ƒdS)N)ræÚstderrÚwriterÓ)rÚstatusrrrrrÓszOptionParser.exitcCs4|jtjƒ|jdd|jƒ|fƒdS)Nr.z%s: error: %s )Ú print_usagerær=rÓr:)rrrrrrüszOptionParser.errorcCs-|jr%|jj|j|jƒƒSdSdS)NrE)rNr rOr<)rrrrÚ get_usage"s  zOptionParser.get_usagecCs#|jrt|jƒd|ƒdS)NÚfile)rNÚprintrA)rrBrrrr@)s zOptionParser.print_usagecCs!|jr|j|jƒSdSdS)NrE)r¤r<)rrrrÚ get_version5s zOptionParser.get_versioncCs#|jrt|jƒd|ƒdS)NrB)r¤rCrD)rrBrrrrÔ;s zOptionParser.print_versioncCsÕ|dkr|j}|j|ƒg}|j|jtdƒƒƒ|jƒ|jr}|jtj||ƒƒ|jdƒx4|j D])}|j|j |ƒƒ|jdƒq‡W|j ƒdj |dd…ƒS)NZOptionsrZrErrj) r r{rlrQr(rKrurr rwr rLr+)rr rorzrrrr Fs       zOptionParser.format_option_helpcCs|j|jƒS)N)r^r])rr rrrr^WszOptionParser.format_epilogcCs—|dkr|j}g}|jr;|j|jƒdƒ|jr^|j|j|ƒdƒ|j|j|ƒƒ|j|j|ƒƒdj|ƒS)NrZrE) r rNrlrAr[r\r r^r+)rr rorrrr Zs    zOptionParser.format_helpcCs,|dkrtj}|j|jƒƒdS)N)ræÚstdoutr>r )rrBrrrrÒfs  zOptionParser.print_help)*rr"r#rrr rrórrrrrrrrr r!r#r%r&r'r)r.r+r*r3r/r0r:r<rÿrÓrürAr@rDrÔr r^r rÒrrrrrQs^ F             ' 3 $ )        cs{ˆ|krˆS‡fdd†|jƒDƒ}t|ƒdkrI|dS|s^tˆƒ‚n|jƒtˆ|ƒ‚dS)Ncs%g|]}|jˆƒr|‘qSr)r)rgZword)r;rrris z!_match_abbrev..rr)r²rkrÚsortr))r;Zwordmapr*r)r;rr2ss  r2)&Ú __version__Ú__all__Z __copyright__rær3rUrrrÚ ImportErrorr(Ú Exceptionr r rrrr)r r r r‹rŒrŽr�r�r’r–rcrrrrrrrr2rrrrrÚsp       Ï   ÿt  A¼ÿÿ$