
    ]f                         d Z ddlZddlZddlmZ ddlmZ ddlmZ ddl	m
Z
 dd	lmZ dd
lmZ ddlmZ  G d de          Zd ZdS )zD
Create a dist_info directory
As defined in the wheel specification
    N)contextmanager)Path)cast   )_normalization   )egg_info)log)Commandc                   `    e Zd ZdZdZg dZddgZddiZd Zd Z	e
d	ed
efd            Zd ZdS )	dist_infoz
    This command is private and reserved for internal use of setuptools,
    users should rely on ``setuptools.build_meta`` APIs.
    z@DO NOT CALL DIRECTLY, INTERNAL ONLY: create .dist-info directory))zoutput-dir=ozYdirectory inside of which the .dist-info will becreated [default: top of the source tree])tag-datedz0Add date stamp (e.g. 20050528) to version number)z
tag-build=bz-Specify explicit tag to add to version number)no-dateDz"Don't include date stamp [default])keep-egg-infoNz,*TRANSITIONAL* will be removed in the futurer   r   r   c                 Z    d | _         d | _        d | _        d | _        d | _        d| _        d S )NF)
output_dirnamedist_info_dirtag_date	tag_buildkeep_egg_info)selfs    Y/var/www/html/software/conda/lib/python3.11/site-packages/setuptools/command/dist_info.pyinitialize_optionszdist_info.initialize_options+   s4    	!"    c                    | j         }|j        pt          j        }t	          | j        p|          | _        t          t          |                     d                    }t          | j                  |_
        | j        r| j        |_        n|j        | _        | j        r| j        |_        n|j        | _        |                                 || _        t          j        |                                          }t          j        |                                          }| d| | _        t          j                            | j        | j         d          | _        d S )Nr	   -z
.dist-info)distributionsrc_rootoscurdirr   r   r   egg_info_clsreinitialize_commandstregg_baser   r   finalize_optionsr	   r   
safer_nameget_namesafer_best_effort_versionget_versionr   pathjoinr   )r   distproject_dirr	   r   versions         r   r*   zdist_info.finalize_options3   s,    m0ryt=+>>d&?&?
&K&KLL00= 	. $H$-DM> 	0!%H%/DN!!### (99 :4;K;K;M;MNN''g''	W\\$/di;S;S;STTr   dir_pathrequires_bkpc              #   "  K   |r| d}t          |d           t          j        ||dd           	 d V  t          |d           t          j        ||           d S # t          |d           t          j        ||           w xY wd V  d S )Nz.__bkp__T)ignore_errors)dirs_exist_oksymlinks)_rmshutilcopytreemove)r   r4   r5   bkp_names       r   _maybe_bkp_dirzdist_info._maybe_bkp_dirM   s       
	",,,H----OHhdTRRRR0HD1111Hh///// HD1111Hh////EEEEEs   A   (Bc                 4   | j                             dd           | j                                         | j        j        }t          j                            |          s
J d            t          j        d	                    t          j        
                    | j                                       |                     d          }|                     || j                  5  |                    || j                   d d d            d S # 1 swxY w Y   d S )NT)parentsexist_okz&.egg-info dir should have been createdzcreating '{}'bdist_wheel)r   mkdirr	   runr$   r/   isdirr
   infoformatabspathr   get_finalized_commandr?   r   egg2dist)r   egg_info_dirrC   s      r   rE   zdist_info.run[   sL   dT:::}-w}}\**TT,TTTT''8J(K(KLLMMM00??   t/ABB 	C 	C  t/ABBB	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	Cs   $DDDN)__name__
__module____qualname____doc__descriptionuser_optionsboolean_optionsnegative_optr   r*   r   r(   boolr?   rE    r   r   r   r      s         
 UK  L "?3Oz*L# # #U U U4 s $    ^C C C C Cr   r   c                 l    t           j                            |           rt          j        | fi | d S d S )N)r$   r/   rF   r;   rmtree)dir_nameoptss     r   r:   r:   i   s@    	w}}X (h''$'''''( (r   )rP   r$   r;   
contextlibr   pathlibr   typingr    r   r	   r&   	distutilsr
   distutils.corer   r   r:   rV   r   r   <module>ra      s    
 
			  % % % % % %                   . . . . . .       " " " " " "SC SC SC SC SC SC SC SCl( ( ( ( (r   