
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
3

  \A  ã               @   sÀ   d dddgZ ddlZyddlmZ W n ek
r@   dd„ ZY nX G d	d „ d eƒZeZg fd
d„Zg fdd„Z	dd„ Z
dd„ Zdd„ Zdd„ Zedkr¼ddlZeeejdd… dddgƒƒ dS )ÚGetoptErrorÚerrorÚgetoptÚ
gnu_getopté    N)Úgettextc             C   s   | S )N© )Úsr   r   ú/usr/lib64/python3.6/getopt.pyÚ_)   s    r
   c               @   s&   e Zd ZdZdZddd„Zdd„ ZdS )r   Ú c             C   s   || _ || _tj| ||ƒ d S )N)ÚmsgÚoptÚ	ExceptionÚ__init__)Úselfr   r   r   r   r	   r   .   s    zGetoptError.__init__c             C   s   | j S )N)r   )r   r   r   r	   Ú__str__3   s    zGetoptError.__str__N)r   )Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   r   r	   r   +   s   
c             C   sÆ   g }t |ƒt dƒkr|g}nt|ƒ}x˜| r¼| d jdƒr¼| d dkr¼| d dkr^| dd … } P | d jdƒr”t|| d dd … || dd … ƒ\}} q&t|| d dd … || dd … ƒ\}} q&W || fS )Nr   r   ú-z--é   é   )ÚtypeÚlistÚ
startswithÚdo_longsÚ	do_shorts)ÚargsÚ	shortoptsÚlongoptsÚoptsr   r   r	   r   8   s     (*c             C   s6  g }g }t |tƒr|g}nt|ƒ}|jdƒr>|dd … }d}ntjjdƒrPd}nd}xØ| �r,| d dkrz|| dd … 7 }P | d d d… dkr¶t|| d dd … || dd … ƒ\}} qV| d d d… d	krþ| d d	krþt|| d dd … || dd … ƒ\}} qV|�r|| 7 }P qV|j	| d ƒ | dd … } qVW ||fS )
Nú+r   TZPOSIXLY_CORRECTFr   z--r   r   )
Ú
isinstanceÚstrr   r   ÚosÚenvironÚgetr   r   Úappend)r   r   r   r    Z	prog_argsZall_options_firstr   r   r	   r   c   s2    

( (c             C   sÆ   y|j dƒ}W n tk
r&   d }Y n X |d |… ||d d …  }}t||ƒ\}}|rŽ|d kr¨|svttdƒ| |ƒ‚|d |dd …  }}n|d k	r¨ttdƒ| |ƒ‚| jd| |p¸dfƒ | |fS )Nú=r   zoption --%s requires argumentr   z%option --%s must not have an argumentz--r   )ÚindexÚ
ValueErrorÚlong_has_argsr   r
   r'   )r    r   r   r   ÚiÚoptargÚhas_argr   r   r	   r   •   s    
r   c                s”   ‡ fdd„|D ƒ}|s(t tdƒˆ  ˆ ƒ‚ˆ |kr8dˆ fS ˆ d |krLdˆ fS t|ƒdkrjt tdƒˆ  ˆ ƒ‚|d	 }|jdƒ}|rŒ|d d
… }||fS )Nc                s   g | ]}|j ˆ ƒr|‘qS r   )r   )Ú.0Úo)r   r   r	   ú
<listcomp>¬   s    z!long_has_args.<locals>.<listcomp>zoption --%s not recognizedFr(   Tr   zoption --%s not a unique prefixr   éÿÿÿÿ)r   r
   ÚlenÚendswith)r   r   ZpossibilitiesZunique_matchr.   r   )r   r	   r+   «   s    
r+   c             C   sŒ   x‚|dkr‚|d |dd …  }}t ||ƒrj|dkr^|sHttdƒ| |ƒ‚|d |dd …  }}|d }}nd}| jd| |fƒ qW | |fS )Nr   r   r   zoption -%s requires argumentr   )Úshort_has_argr   r
   r'   )r    Z	optstringr   r   r   r-   r   r   r	   r   À   s    

r   c             C   sX   x@t t|ƒƒD ]0}| ||   ko(dkn  r|jd|d ƒS qW ttdƒ|  | ƒ‚d S )Nú:r   zoption -%s not recognized)Úranger3   r   r   r
   )r   r   r,   r   r   r	   r5   Ï   s    r5   Ú__main__r   za:bzalpha=Zbeta)Ú__all__r$   r   r
   ÚImportErrorr   r   r   r   r   r   r+   r   r5   r   ÚsysÚprintÚargvr   r   r   r	   Ú<module>"   s    +2