
    df                         d Z ddlZddlZddl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edefdZdedefdZd Zd Zy)zD
Create a dist_info directory
As defined in the wheel specification
    N)contextmanager)cleandoc)Path)Command)log)	packaging)SetuptoolsDeprecationWarningc                   T    e 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y)	dist_infozcreate a .dist-info directory))z	egg-base=ezjdirectory containing .egg-info directories (default: top of the source tree) DEPRECATED: use --output-dir.)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                 f    d | _         d | _        d | _        d | _        d | _        d | _        d| _        y )NF)egg_base
output_dirnamedist_info_dirtag_date	tag_buildkeep_egg_info)selfs    U/home/api-vastappli/venv/lib/python3.12/site-packages/setuptools/command/dist_info.pyinitialize_optionszdist_info.initialize_options(   s5    	!"    c                 V   | j                   r;d}t        j                  |t               | j                   xs | j                  | _        | j
                  }|j                  xs t        j                  }t        | j                  xs |      | _        | j                  d      }t        | j                        |_         | j                  r| j                  |_        n|j                  | _        | j                  r| j                  |_        n|j                  | _        |j                          || _        t!        |j#                               }t%        |j'                               }| d| | _        t        j*                  j-                  | j                  | j(                   d      | _        y )NzA--egg-base is deprecated for dist_info command. Use --output-dir.egg_info-z
.dist-info)r   warningswarnr	   r   distributionsrc_rootoscurdirr   reinitialize_commandstrr   r   finalize_optionsr!   _safeget_name_versionget_versionr   pathjoinr   )r   msgdistproject_dirr!   r   versions          r   r+   zdist_info.finalize_options1   s2   ==UCMM#;<"mm>tDO  mm0ryyt=+>,,Z80== $H$--DM>>!%H%//DN!!# T]]_%4++-.fAgY'	WW\\$//dii[
;STr   dir_pathrequires_bkpc              #      K   |rJ| d}t        |d       t        ||dd       	 d  t        |d       t        j                  ||       y d  y # t        |d       t        j                  ||       w xY ww)Nz.__bkp__T)ignore_errors)dirs_exist_oksymlinks)_rm_copyshutilmove)r   r6   r7   bkp_names       r   _maybe_bkp_dirzdist_info._maybe_bkp_dirP   sk     "8,H-(HD4H0HD1Hh/ HD1Hh/s   $A<A )A<%A99A<c                 <   | j                   j                  dd       | j                  j                          | j                  j                  }t        j
                  j                  |      sJ d       t        j                  dj                  t        j
                  j                  | j                                     | j                  d      }| j                  || j                        5  |j                  || j                         d d d        y # 1 sw Y   y xY w)NT)parentsexist_okz&.egg-info dir should have been createdzcreating '{}'bdist_wheel)r   mkdirr!   runr'   r0   isdirr   infoformatabspathr   get_finalized_commandrA   r   egg2dist)r   egg_info_dirrE   s      r   rG   zdist_info.run^   s    dT:}}--ww}}\*T,TT''8J8J(KLM00?   t/A/AB 	C  t/A/AB	C 	C 	Cs   ,DDN)__name__
__module____qualname__descriptionuser_optionsboolean_optionsnegative_optr   r+   r   r*   boolrA   rG    r   r   r   r      sW    1K
L "?3Oz*L#U> s $  Cr   r   	componentreturnc                 0    t        j                  dd|       S )zAEscape a component used to form a wheel name according to PEP 491z	[^\w\d.]+_)resub)rX   s    r   r,   r,   l   s    66,Y//r   r5   c                 `   | j                  dd      }	 t        t        j                  j	                  |            j                  dd      S # t        j                  j
                  $ rD d| d| d}t        j                  t        |             t        |      j                  d      cY S w xY w)z0Convert an arbitrary string to a version string. .r"   r[   zInvalid version: zk.
        !!


        ###################
        # Invalid version #
        ###################
        z is not valid according to PEP 440.

        Please make sure specify a valid version for your package.
        Also note that future releases of setuptools may halt the build process
        if an invalid version is given.
        

!!
        )replacer*   r   r5   VersionInvalidVersionr#   r$   r   r,   strip)r5   vr2   s      r   r.   r.   q   s    S!A#9$$,,Q/088cBB++ ##G; /	
 
 	
 	hsm$Qx~~c""#s   7A AB-,B-c                 p    t         j                  j                  |       rt        j                  | fi | y y )N)r'   r0   rH   r>   rmtree)dir_nameoptss     r   r<   r<      s(    	ww}}Xh'$' r   c                 |    t         j                  dk  r|j                  dd        t        j                  | |fi | y )N)      r:   )sysversion_infopopr>   copytree)srcdstri   s      r   r=   r=      s1    
& $'
OOC%%r   )__doc__r'   r\   r>   rm   r#   
contextlibr   inspectr   pathlibr   distutils.corer   	distutilsr   setuptools.externr   setuptools._deprecation_warningr	   r   r*   r,   r.   r<   r=   rW   r   r   <module>r{      sq   
 
 	  
  %   "  ' HTC TCn0S 0S 0
#c #c #*(
&r   