
    i4                         d 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  G d d	e          Zd
 Zd Zd ZdS )z
distutils.command.install_egg_info

Implements the Distutils 'install_egg_info' command, for installing
a package's PKG-INFO metadata.
    N)ClassVar   )dir_util)log)Commandc                       e Zd ZU dZdZdgZeeee	e	e	f                           e
d<   d Zed             Zd Zd Zd	 Zd
S )install_egg_infoz)Install an .egg-info file for the packagez8Install package's PKG-INFO metadata as an .egg-info file)zinstall-dir=dzdirectory to install touser_optionsc                     d | _         d S N)install_dirselfs    f/srv/django_bis/venv311/lib/python3.11/site-packages/setuptools/_distutils/command/install_egg_info.pyinitialize_optionsz#install_egg_info.initialize_options   s        c                 &   t          t          | j                                                            }t          t	          | j                                                            }| d| dt          j        j         dt          j        j	         dS )z_
        Allow basename to be overridden by child class.
        Ref pypa/distutils#2.
        -z-py.z	.egg-info)
to_filename	safe_namedistributionget_namesafe_versionget_versionsysversion_infomajorminor)r   nameversions      r   basenamezinstall_egg_info.basename   s     9T%6%?%?%A%ABBCCl4+<+H+H+J+JKKLL____S%5%;__c>N>T____r   c                     |                      dd           t          j                            | j        | j                  | _        | j        g| _        d S )Ninstall_lib)r   r   )set_undefined_optionsospathjoinr   r#   targetoutputsr   s    r   finalize_optionsz!install_egg_info.finalize_options'   sD    ""=2PQQQgll4#3T]CC}r   c                    | j         }t          j                            |          r;t          j                            |          st          j        || j                   nt          j                            |          r+| 	                    t          j
        | j         fd|z              nSt          j                            | j                  s/| 	                    t          j        | j        fd| j        z              t          j        d|           | j        sLt          |dd          5 }| j        j                            |           d d d            d S # 1 swxY w Y   d S d S )N)dry_runz	Removing z	Creating z
Writing %swzUTF-8)encoding)r*   r'   r(   isdirislinkr   remove_treer.   existsexecuteunlinkr   makedirsr   infoopenr   metadatawrite_pkg_file)r   r*   fs      r   runzinstall_egg_info.run,   s   7==   	)?)? 	 >>>>>W^^F## 	LLT[NK&4HIIIIt/00 	LLd.0+@P2P   	v&&&| 	=fcG444 =!*99!<<<= = = = = = = = = = = = = = = = = =	= 	=s   - EE!Ec                     | j         S r   )r+   r   s    r   get_outputszinstall_egg_info.get_outputs;   s
    |r   N)__name__
__module____qualname____doc__descriptionr   r   listtuplestr__annotations__r   propertyr#   r,   r=   r?    r   r   r	   r	      s         33LK8:L(4c3m 456         ` ` X`% % %
= = =    r   r	   c                 .    t          j        dd|           S )zConvert an arbitrary string to a standard distribution name

    Any runs of non-alphanumeric/. characters are replaced with a single '-'.
    [^A-Za-z0-9.]+r   )resubr!   s    r   r   r   D   s    
 6"C...r   c                 Z    |                      dd          } t          j        dd|           S )zConvert an arbitrary string to a standard version string

    Spaces become dots, and all other non-alphanumeric characters become
    dashes, with runs of multiple dashes condensed to a single dash.
     r   rL   r   )replacerM   rN   )r"   s    r   r   r   L   s,     ooc3''G6"C111r   c                 .    |                      dd          S )z|Convert a project or version name to its filename-escaped form

    Any '-' characters are currently replaced with '_'.
    r   _)rR   rO   s    r   r   r   V   s    
 <<S!!!r   )rC   r'   rM   r   typingr    r   _logr   cmdr   r	   r   r   r   rJ   r   r   <module>rY      s     
			 				 



                        * * * * *w * * *d/ / /2 2 2" " " " "r   