o
    ^+)h]                     @   sl   d Z ddlZddlmZ ddlmZ ddlmZmZ ddl	m
Z
 ddlmZ ddlmZ G d	d
 d
eZdS )zdistutils.command.bdist_dumb

Implements the Distutils 'bdist_dumb' command (create a "dumb" built
distribution -- i.e., just an archive to be unpacked under $prefix or
$exec_prefix).    N)Command)get_platform)remove_treeensure_relative)DistutilsPlatformError)get_python_version)logc                	   @   s\   e Zd ZdZdddde  fdddd	d
ddg	Zg dZdddZdd Zdd Z	dd Z
dS )
bdist_dumbz"create a "dumb" built distribution)z
bdist-dir=dz1temporary directory for creating the distributionz
plat-name=pz;platform name to embed in generated filenames (default: %s))zformat=fz>archive format to create (tar, gztar, bztar, xztar, ztar, zip))	keep-tempkzPkeep the pseudo-installation tree around after creating the distribution archive)z	dist-dir=r
   z-directory to put final built distributions in)
skip-buildNz2skip rebuilding everything (for testing/debugging))relativeNz7build the archive using relative paths (default: false))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   r   r   gztarzip)posixntc                 C   s:   d | _ d | _d | _d| _d | _d | _d| _d | _d | _d S )Nr   )		bdist_dir	plat_nameformat	keep_tempdist_dir
skip_buildr   ownergroup)self r    gC:\Users\User\Downloads\Proyecto_IoT\venv\Lib\site-packages\setuptools/_distutils/command/bdist_dumb.pyinitialize_options>   s   
zbdist_dumb.initialize_optionsc                 C   st   | j d u r| dj}tj|d| _ | jd u r0z	| jtj | _W n t	y/   t
dtj w | dddd d S )NZbdistdumbz@don't know how to create dumb built distributions on platform %s)r   r   )r   r   )r   r   )r   Zget_finalized_command
bdist_baseospathjoinr   default_formatnameKeyErrorr   Zset_undefined_options)r   r$   r    r    r!   finalize_optionsI   s&   

zbdist_dumb.finalize_optionsc                 C   s(  | j s| d | jddd}| j|_| j |_ d|_td| j | d d| j	
 | j}tj| j|}| js?| j}n$| j	 rX|j|jkrXtdt|jt|jf tj| jt|j}| j|| j|| j| jd	}| j	 ryt }nd
}| j	jd||f | jst| j| jd d S d S )Nbuildinstall   )Zreinit_subcommandsr   zinstalling to %sz{}.{}zScan't make a dumb built distribution where base and platbase are different (%s, %s))root_dirr   r   anyr	   )dry_run) r   run_commandZreinitialize_commandr   rootZwarn_dirr   infor   distributionZget_fullnamer   r%   r&   r'   r   r   Zhas_ext_modulesZinstall_baseZinstall_platbaser   reprr   make_archiver   r   r   Z
dist_filesappendr   r   r1   )r   r-   Zarchive_basenameZpseudoinstall_rootZarchive_rootfilenameZ	pyversionr    r    r!   run^   sL   



zbdist_dumb.runN)__name__
__module____qualname__descriptionr   Zuser_optionsZboolean_optionsr(   r"   r+   r:   r    r    r    r!   r	      s,    &
r	   )__doc__r%   Zdistutils.corer   Zdistutils.utilr   Zdistutils.dir_utilr   r   Zdistutils.errorsr   distutils.sysconfigr   	distutilsr   r	   r    r    r    r!   <module>   s    