
    ;e+
                     l    d Z ddlmZ ddlmZmZ ddlZddlZddlZ G d de          Z	d Z
d Zd	 ZdS )
zdistutils.command.install_egg_info

Implements the Distutils 'install_egg_info' command, for installing
a package's PKG-INFO metadata.    )Command)logdir_utilNc                   4    e Zd ZdZdZdgZ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 toc                     d | _         d S N)install_dirselfs    9/usr/lib/python3.11/distutils/command/install_egg_info.pyinitialize_optionsz#install_egg_info.initialize_options   s        c                    |                      dd           dt          t          | j                                                            t          t          | j                                                            gt          j        d d         R z  }t          j
                            | j        |          | _        | j        g| _        d S )Ninstall_lib)r   r   z%s-%s-py%d.%d.egg-info   )set_undefined_optionsto_filename	safe_namedistributionget_namesafe_versionget_versionsysversion_infoospathjoinr   targetoutputs)r   basenames     r   finalize_optionsz!install_egg_info.finalize_options   s    ""=1NOOO+	$"3"<"<">">??@@T%6%B%B%D%DEEFF/
 bqb!/
 /
 

 gll4#3X>>}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==   	7)?)? 	7 >>>>>W^^F## 	7LLDK>+f2DEEEEt/00 	7LLt'7&9$T%557 7 7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__descriptionuser_optionsr   r#   r4   r6    r   r   r   r      se        33LK8L     % % %= = =    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.]+-)resubnames    r   r   r   6   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?   r@   )replacerA   rB   )versions    r   r   r   >   s,     ooc#&&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@   _)rH   rC   s    r   r   r   H   s    
 <<C   r   )r:   distutils.cmdr   	distutilsr   r   r   r   rA   r   r   r   r   r=   r   r   <module>rN      s   " " " ! ! ! ! ! # # # # # # # #            $ $ $ $ $w $ $ $V/ / /2 2 2! ! ! ! !r   