3 \A@sddddgZddlZyddlmZWnek r@ddZYnXGd ddeZeZgfd dZgfd dZ d d Z ddZ ddZ ddZ edkrddlZeeejdddddgdS) GetoptErrorerrorgetopt gnu_getoptN)gettextcCs|S)N)srr/usr/lib64/python3.6/getopt.py_)sr c@s&eZdZdZdZdddZddZdS)rcCs||_||_tj|||dS)N)msgopt Exception__init__)selfr r rrr r.szGetoptError.__init__cCs|jS)N)r )rrrr __str__3szGetoptError.__str__N)r )__name__ __module__ __qualname__r r rrrrrr r+s cCsg}t|tdkr|g}nt|}x|r|djdr|ddkr|ddkr^|dd}P|djdrt||ddd||dd\}}q&t||ddd||dd\}}q&W||fS)Nr r-z--)typelist startswithdo_longs do_shorts)args shortoptslongoptsoptsrrr r8s   (*cCs6g}g}t|tr|g}nt|}|jdr>|dd}d}ntjjdrPd}nd}x|r,|ddkrz||dd7}P|ddddkrt||ddd||dd\}}qV|dddd kr|dd krt||ddd||dd\}}qV|r||7}PqV|j |d|dd}qVW||fS) N+rTZPOSIXLY_CORRECTFrz--rr) isinstancestrrrosenvirongetrrappend)rrrr Z prog_argsZall_options_firstrrr rcs2     ( (c Csy|jd}Wntk r&d}Yn X|d|||dd}}t||\}}|r|dkr|svttd|||d|dd}}n|dk rttd|||jd||pdf||fS)N=rzoption --%s requires argumentrz%option --%s must not have an argumentz--r )index ValueError long_has_argsrr r')r r rrioptarghas_argrrr rs rcsfdd|D}|s(ttd|kr8dfSd|krLdfSt|dkrjttd|d }|jd}|r|dd }||fS) Ncsg|]}|jr|qSr)r).0o)r rr sz!long_has_args..zoption --%s not recognizedFr(Trzoption --%s not a unique prefixr)rr lenendswith)r rZ possibilitiesZ unique_matchr.r)r r r+s    r+cCsx|dkr|d|dd}}t||rj|dkr^|sHttd|||d|dd}}|d}}nd}|jd||fqW||fS)Nr rrzoption -%s requires argumentr) short_has_argrr r')r Z optstringrrr r-rrr rs    rcCsXx@tt|D]0}|||ko(dknr|jd|dSqWttd||dS)N:rzoption -%s not recognized)ranger3rrr )r rr,rrr r5sr5__main__rza:bzalpha=Zbeta)__all__r$rr ImportErrorrrrrrrr+rr5rsysprintargvrrrr "s   + 2