o
    LK&h                     @  s   d Z ddlm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lmZmZ dd	lmZ er;dd
lmZ ndd Zdd ZG dd deeeeef f ZG dd deZdS )zidistutils.command.bdist

Implements the Distutils 'bdist' command (create a built [binary]
distribution).    )annotationsN)Callable)TYPE_CHECKINGClassVar   )Command)DistutilsOptionErrorDistutilsPlatformError)get_platform)
deprecatedc                 C  s   dd S )Nc                 S  s   | S )N )fnr   r   V/var/www/html/venv/lib/python3.10/site-packages/setuptools/_distutils/command/bdist.py<lambda>   s    zdeprecated.<locals>.<lambda>r   )messager   r   r   r      s   r   c                  C  s2   ddl m}  dd tjD }| |}|d dS )zAPrint list of available formats (arguments to "--format" option).r   )FancyGetoptc                 S  s$   g | ]}d | dt j| d fqS )formats=N   )bdistformat_commands).0formatr   r   r   
<listcomp>   s    z show_formats.<locals>.<listcomp>z'List of available distribution formats:N)fancy_getoptr   r   r   
print_help)r   formatspretty_printerr   r   r   show_formats   s   r   c                   @  s   e Zd Zedd	ddZdS )

ListCompat4format_commands is now a dict. append is deprecated.itemobjectreturnNonec                 C  s   t jdtdd d S )Nr   r   )
stacklevel)warningswarnDeprecationWarning)selfr    r   r   r   append'   s
   
zListCompat.appendN)r    r!   r"   r#   )__name__
__module____qualname__r   r)   r   r   r   r   r   %   s    r   c                	   @  s   e Zd ZU dZdddde  dfddd	d
dgZdgZded< dddefgZ	ded< dZ
ded< dddZded< eddddd d!d"d#ZeZd$d% Zd,d(d)Zd,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]r1   zClassVar[list[str]]boolean_optionszhelp-formatsNz$lists available distribution formatszAClassVar[list[tuple[str, str | None, str, Callable[[], object]]]]help_options)	bdist_rpmzClassVar[tuple[str, ...]]no_format_optiongztarzip)posixntzClassVar[dict[str, str]]default_format)r6   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)rpmr8   bztarxztarztartarr9   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_optionsi   s   
zbdist.initialize_optionsr"   r#   c                 C  s   | j d u r| jrt | _ n| dj | _ | jd u r*| dj}tj|d| j  | _| 	d | j
d u rNz
| jtj g| _
W n tyM   tdtj w | jd u rXd| _d S d S )Nbuildzbdist.r   z9don't know how to create built distributions on platform dist)rD   rF   r
   get_finalized_commandrC   
build_baseospathjoinensure_string_listr   r<   nameKeyErrorr	   rE   )r(   rM   r   r   r   finalize_optionsr   s*   






zbdist.finalize_optionsc              	   C  s   g }| j D ]}z|| j| d  W q ty"   td| dw tt| j D ]4}|| }| |}|| jvr@| j | |_	|dkrL| j
|_
| j|_|||d d  v rYd|_| | q*d S )Nr   zinvalid format ''r=   r   T)r   r)   r   rS   r   rangelenreinitialize_commandr7   r   rH   rG   	keep_temprun_command)r(   commandsr   icmd_namesub_cmdr   r   r   run   s&   


z	bdist.run)r"   r#   )r*   r+   r,   descriptionr
   user_optionsr4   __annotations__r   r5   r7   r<   r   r   format_commandrI   rT   r_   r   r   r   r   r   0   sB   
 

	r   )__doc__
__future__r   rN   r%   collections.abcr   typingr   r   corer   errorsr   r	   utilr
   typing_extensionsr   r   dictstrtupler   r   r   r   r   r   <module>   s     