o
    5‘ðiÞ  ã                   @  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   úb/root/parts/websockify/install/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 )
Ú
ListCompatú4format_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     