a
    ñ»jê  ã                   @   sh   d Z ddlZddlZddlmZ ddlmZmZ ddlm	Z	 dd„ Z
G d	d
„ d
eƒZG dd„ deƒZdS )zidistutils.command.bdist

Implements the Distutils 'bdist' command (create a built [binary]
distribution).é    Né   )ÚCommand)ÚDistutilsOptionErrorÚDistutilsPlatformError)Úget_platformc                  C   sP   ddl m}  g }tjD ]"}| d| dtj| d f¡ q| |ƒ}| d¡ dS )zAPrint list of available formats (arguments to "--format" option).r   )ÚFancyGetoptúformats=Né   z'List of available distribution formats:)Úfancy_getoptr   ÚbdistÚformat_commandsÚappendÚ
print_help)r   ÚformatsÚformatZpretty_printer© r   úIE:\soccer\ml_env\Lib\site-packages\setuptools/_distutils/command/bdist.pyÚshow_formats   s    
 r   c                   @   s   e Zd Zdd„ ZdS )Ú
ListCompatc                 C   s   t jdtdd� d S )Nz4format_commands is now a dict. append is deprecated.r   )Ú
stacklevel)ÚwarningsÚwarnÚDeprecationWarning)ÚselfÚitemr   r   r   r      s
    ýzListCompat.appendN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r      s   r   c                	   @   sˆ   e Zd ZdZddddeƒ › d�fddd	d
dgZdgZdddefgZdZ	dddœZ
eddddddddœƒZeZdd„ Zdd„ Zd d!„ ZdS )"r   z$create a built (binary) distribution)zbdist-base=Úbz4temporary directory for creating built distributionsz
plat-name=Úpz8platform name to embed in generated filenames [default: ú])r   Nz/formats for distribution (comma-separated list))z	dist-dir=Údz=directory to put final built distributions in [default: dist])ú
skip-buildNz2skip rebuilding everything (for testing/debugging))zowner=Úuz@Owner name used when creating a tar file [default: current user])zgroup=ÚgzAGroup name used when creating a tar file [default: current group]r"   zhelp-formatsNz$lists available distribution formats)Ú	bdist_rpmÚgztarÚzip)ÚposixÚnt)r%   zRPM distribution)Ú
bdist_dumbzgzip'ed tar file)r*   zbzip2'ed tar file)r*   zxz'ed tar file)r*   zcompressed tar file)r*   ztar file)r*   zZIP file)Zrpmr&   ÚbztarÚxztarÚztarÚtarr'   c                 C   s.   d | _ d | _d | _d | _d| _d | _d | _d S )NF)Ú
bdist_baseÚ	plat_namer   Údist_dirÚ
skip_buildÚgroupÚowner)r   r   r   r   Úinitialize_options\   s    zbdist.initialize_optionsc                 C   s´   | j d u r(| jrtƒ | _ n|  d¡j | _ | jd u rT|  d¡j}tj |d| j  ¡| _|  	d¡ | j
d u r z| jtj g| _
W n" tyž   tdtj› �ƒ‚Y n0 | jd u r°d| _d S )NÚbuildzbdist.r   z9don't know how to create built distributions on platform Údist)r0   r2   r   Úget_finalized_commandr/   Ú
build_baseÚosÚpathÚjoinÚensure_string_listr   Údefault_formatÚnameÚKeyErrorr   r1   )r   r9   r   r   r   Úfinalize_optionse   s&    




ÿÿ

zbdist.finalize_optionsc              	   C   sÈ   g }| j D ]@}z| | j| d ¡ W q
 tyH   td|› d�ƒ‚Y q
0 q
tt| j ƒƒD ]h}|| }|  |¡}|| jvr†| j | |_	|dkrž| j
|_
| j|_|||d d … v r¸d|_|  |¡ qZd S )Nr   zinvalid format 'ú'r*   r	   T)r   r   r   r@   r   ÚrangeÚlenÚreinitialize_commandÚno_format_optionr   r4   r3   Z	keep_tempÚrun_command)r   Úcommandsr   ÚiÚcmd_nameZsub_cmdr   r   r   Úrun�   s"    


z	bdist.run)r   r   r   Údescriptionr   Úuser_optionsÚboolean_optionsr   Úhelp_optionsrF   r>   r   r   Zformat_commandr5   rA   rK   r   r   r   r   r   #   s@   ÿýì
ÿ
ù	r   )Ú__doc__r:   r   Úcorer   Úerrorsr   r   Úutilr   r   Údictr   r   r   r   r   r   Ú<module>   s   
