a
    SicA                     @   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)DistutilsPlatformErrorDistutilsOptionError)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:)distutils.fancy_getoptr   bdistformat_commandsappend
print_help)r   formatsformatZpretty_printer r   _/var/www/html/django/DPS/env/lib/python3.9/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.   )
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  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=pz;platform name to embed in generated filenames (default: %s))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 )Nr   )
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 rz| jtj g| _
W n  ty   tdtj Y n0 | jd u rd| _d S )Nbuildzbdist.r   z;don't know how to create built distributions on platform %sdist)r/   r1   r   get_finalized_commandr.   
build_baseospathjoinensure_string_listr   default_formatnameKeyErrorr   r0   )r   r8   r   r   r   finalize_optionsh   s&    






zbdist.finalize_optionsc              	   C   s   g }| j D ]<}z|| j| d  W q
 tyD   td| Y q
0 q
tt| j D ]h}|| }| |}|| jvr| j | |_	|dkr| j
|_
| j|_|||d d  v rd|_| | qVd S )Nr   zinvalid format '%s'r)   r   )r   r   r   r?   r   rangelenreinitialize_commandno_format_optionr   r3   r2   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_optionsrD   r=   r   r   format_commandr4   r@   rI   r   r   r   r   r
   #   sB   

	r
   )__doc__r9   r   distutils.corer   distutils.errorsr   r   distutils.utilr   r   dictr   r
   r   r   r   r   <module>   s   
