U
    ZÊ¹j2  ã                   @  s¼   d Z ddlmZ ddlZddlZddlZddlmZ G dd„ deƒZddd	œd
d„Z	ddd	œdd„Z
ddd	œdd„Zddd	œdd„Zddd	œdd„Zdddœdd„ZdZdd„ Zdd„ ZdS )z
Wheel command-line utility.
é    )ÚannotationsN)ÚArgumentTypeErrorc                   @  s   e Zd ZdS )Ú
WheelErrorN)Ú__name__Ú
__module__Ú__qualname__© r   r   úQ/var/www/html/bwave/python/venv/lib/python3.8/site-packages/wheel/cli/__init__.pyr      s   r   zargparse.NamespaceÚNone)ÚargsÚreturnc                 C  s   ddl m } || j| jƒ d S )Né   )Úunpack)r   Ú	wheelfileÚdest)r   r   r   r   r	   Úunpack_f   s    r   c                 C  s"   ddl m } || j| j| jƒ d S )Nr   )Úpack)r   Ú	directoryÚdest_dirÚbuild_number)r   r   r   r   r	   Úpack_f   s    r   c                 C  s"   ddl m } || j| j| jƒ d S )Nr   )Úconvert)r   Úfilesr   Úverbose)r   r   r   r   r	   Ú	convert_f   s    r   c                   s8   ddl m ‰ ‡ ‡fdd„ˆ jD ƒ}|D ]}t|ƒ q&d S )Nr   )Útagsc                 3  s*   | ]"}ˆ|ˆ j ˆ jˆ jˆ jˆ jƒV  qd S ©N)Z
python_tagZabi_tagZplatform_tagÚbuildÚremove)Ú.0Úwheel©r   r   r   r	   Ú	<genexpr>&   s   	øúztags_f.<locals>.<genexpr>)r   r    Úprint)r   ÚnamesÚnamer   r!   r	   Útags_f#   s    	÷r&   c                 C  s   ddl m} td|› �ƒ d S )Né   )Ú__version__zwheel )Ú r(   r#   )r   r(   r   r   r	   Ú	version_f6   s    r*   Ústr)Ú	build_tagr   c                 C  s.   | r| d   ¡ stdƒ‚nd| kr*tdƒ‚| S )Nr   z!build tag must begin with a digitú-z$invalid character ('-') in build tag)Úisdigitr   )r,   r   r   r	   Úparse_build_tag<   s
    
r/   ay  Make a new wheel with given tags. Any tags unspecified will remain the same.
Starting the tags with a "+" will append to the existing tags. Starting with a
"-" will remove a tag (use --option=-TAG syntax). Multiple tags can be
separated by ".". The original file will remain unless --remove is given.  The
output filename(s) will be displayed on stdout for further processing.
c                    s¨  t  ¡ ‰ ˆ jdd�} | jddd�}|jddddd	� |jd
dd� |jtd� | jddd�}|jddd� |jddtjj	dd� |jddd� |jt
d� | jddd�}|jdddd� |jddtjj	dd� |jdddd � |jtd� | jd!d"td#�}|jd$dd%d� |jd&dd'd(� |jd)d*d+d,� |jd-d*d.d,� |jd/d*d0d,� |jd1td2d3d4� |jtd� | jd5d6d�}|jtd� | jd7d8d�}|j‡ fd9d:„d� ˆ S );NÚcommands)Úhelpr   zUnpack wheelz--destz-dzDestination directoryÚ.)r1   Údefaultr   z
Wheel file)Úfuncr   zRepack wheelr   z$Root directory of the unpacked wheelz
--dest-dirz2Directory to store the wheel (default %(default)s))r3   r1   z--build-numberz"Build tag to use in the wheel namer   zConvert egg or wininst to wheelr   Ú*zFiles to convert)Únargsr1   z/Directory to store wheels (default %(default)s)z	--verbosez-vÚ
store_true)Úactionr   z"Add or replace the tags on a wheel)r1   Údescriptionr    zExisting wheel(s) to retagz--removez8Remove the original files, keeping only the renamed ones)r8   r1   z--python-tagZTAGzSpecify an interpreter tag(s))Úmetavarr1   z	--abi-tagzSpecify an ABI tag(s)z--platform-tagzSpecify a platform tag(s)z--buildÚBUILDzSpecify a build tag)Útyper:   r1   ÚversionzPrint version and exitr1   zShow this helpc                   s   ˆ   ¡ S r   )Ú
print_help)r   ©Úpr   r	   Ú<lambda>Š   ó    zparser.<locals>.<lambda>)ÚargparseÚArgumentParserÚadd_subparsersÚ
add_parserÚadd_argumentÚset_defaultsr   ÚosÚpathÚcurdirr   r   Ú	TAGS_HELPr/   r&   r*   )ÚsZunpack_parserZrepack_parserZconvert_parserZtags_parserZversion_parserZhelp_parserr   r?   r	   ÚparserN   sˆ       ÿü ÿü  ÿý  ÿ  ÿ   ÿrN   c               
   C  sh   t ƒ } |  ¡ }t|dƒs"|  ¡  nBz| |¡ W dS  tk
rb } zt|tjd� W 5 d }~X Y nX dS )Nr4   r   )Úfiler   )	rN   Ú
parse_argsÚhasattrr>   r4   r   r#   ÚsysÚstderr)r@   r   Úer   r   r	   Úmain�   s    


 rU   )Ú__doc__Ú
__future__r   rC   rI   rR   r   Ú	Exceptionr   r   r   r   r&   r*   r/   rL   rN   rU   r   r   r   r	   Ú<module>   s   		A