
    z%i@                         	 g d Z ddlZ	 ddlmZ  G d de      ZeZg fdZg fdZ	d	 Z
d
 Zd Zd Zedk(  r$ddlZ e eej"                  dd dddg             yy# e$ r d ZY Ww xY w))GetoptErrorerrorgetopt
gnu_getopt    N)gettextc                     | S N )ss    :/home/uftp/.pyenv/versions/3.12.0/lib/python3.12/getopt.py_r   )   s    Qh    c                   "    e Zd ZdZdZddZd Zy)r    c                 N    || _         || _        t        j                  | ||       y r	   )msgopt	Exception__init__)selfr   r   s      r   r   zGetoptError.__init__.   s"    4c*r   c                     | j                   S r	   )r   )r   s    r   __str__zGetoptError.__str__3   s    xxr   N)r   )__name__
__module____qualname__r   r   r   r   r
   r   r   r   r   +   s    
C
C+
r   r   c                 ~   	 g }t        |t              r|g}nt        |      }| r| d   j                  d      r| d   dk7  rz| d   dk(  r
| dd  } 	 || fS | d   j                  d      rt	        || d   dd  || dd        \  }} nt        || d   dd  || dd        \  }} | r| d   j                  d      r	| d   dk7  rz|| fS )Nr   ---      )
isinstancestrlist
startswithdo_longs	do_shorts)args	shortoptslongoptsoptss       r   r   r   8   s    4 D(C :>
47%%c*tAw#~7d?8D : 7d#!$QXtABxHJD$"4aiabJJD$ 47%%c*tAw#~ :r   c                    	 g }g }t        |t              r|g}nt        |      }|j                  d      r|dd  }d}n$t        j
                  j                  d      rd}nd}| r| d   dk(  r|| dd  z  }	 ||fS | d   d d dk(  rt        || d   dd  || dd        \  }} nS| d   d d d	k(  r#| d   d	k7  rt        || d   dd  || dd        \  }} n%|r
|| z  }	 ||fS |j                  | d          | dd  } | r||fS )
N+r   TPOSIXLY_CORRECTFr   r   r    r   )
r!   r"   r#   r$   osenvirongetr%   r&   append)r'   r(   r)   r*   	prog_argsall_options_firsts         r   r   r   c   s\    DI(C :> C abM	 	)	* !
7d?ab!I ? 72A;$!$QXtABxHJD$!WRa[CDGsN"4aiabJJD$ T!	
 ?   a)ABx " ?r   c                 B   	 |j                  d      }|d | ||dz   d  }}t        ||      \  }}|r'|?|st        t	        d      |z  |      |d   |dd  }}n|t        t	        d      |z  |      | j                  d|z   |xs df       | |fS # t        $ r d }Y }w xY w)N=r   zoption --%s requires argumentr   z%option --%s must not have an argumentr   r   )index
ValueErrorlong_has_argsr   r   r1   )r*   r   r)   r'   ioptarghas_args          r   r%   r%      s    )IIcN "1gs1Q34yV h/LGS>!!$C"Ds"JCPP7DHDF		!CDsJCPPKKV\r*+:  s   B BBc                 6   |D cg c]  }|j                  |       s| }}|st        t        d      | z  |       | |v rd| fS | dz   |v rd| fS t        |      dkD  rt        t        d      | z  |       |d   }|j	                  d      }|r|d d }||fS c c}w )	Nzoption --%s not recognizedFr5   Tr   zoption --%s not a unique prefixr   )r$   r   r   lenendswith)r   r)   opossibilitiesunique_matchr;   s         r   r8   r8      s     (>1ALL,=Q>M>!89C?EE
mcz	sm	#Sy
=A !=>DcJJ #L##C(G#CR(L  % ?s
   BBc                     |dk7  rb|d   |dd  }}t        ||      r.|dk(  r$|st        t        d      |z  |      |d   |dd  }}|d}}nd}| j                  d|z   |f       |dk7  rb| |fS )Nr   r   r   zoption -%s requires argumentr   )short_has_argr   r   r1   )r*   	optstringr(   r'   r   r:   s         r   r&   r&      s    
r/"1y}Yi(B%a(F&G#&M&)+ +"&q'484	 )2IFFS3Y'( r/ :r   c                     t        t        |            D ]*  }| ||   cxk(  rdk7  sn |j                  d|dz         c S  t        t	        d      | z  |       )N:r   zoption -%s not recognized)ranger>   r$   r   r   )r   r(   r9   s      r   rD   rD      s\    3y>" 2)A,%#%''QqS112 a34s:C
@@r   __main__r   za:bzalpha=beta)__all__r.   r   r   ImportErrorr   r   r   r   r   r%   r8   r&   rD   r   sysprintargvr
   r   r   <module>rP      s   B 8 	$
	) 	 	') )V ,. 0d,!*A z	&!"ux&8
9: ]  s   A A)(A)