o
    Š�bcÇ  ã                   @   sd   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„ deƒZ	dd„ Z
d	d
„ Zd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.é    )ÚCommand)ÚlogÚdir_utilNc                   @   s<   e Zd ZdZdZddgZdd„ Zdd„ Zd	d
„ Zd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)zinstall-layoutNzcustom installation layoutc                 C   s   d | _ d | _d | _d S ©N)Úinstall_dirÚinstall_layoutÚprefix_option©Úself© r   ú9/usr/lib/python3.10/distutils/command/install_egg_info.pyÚinitialize_options   s   
z#install_egg_info.initialize_optionsc                 C   sæ   |   dd¡ |   dd¡ |   dd¡ | jr(| j ¡ dvr tdƒ‚| j ¡ dk}n| jr.d	}nd
}|rGdtt| j ¡ ƒƒtt	| j 
¡ ƒƒf }ndtt| j ¡ ƒƒtt	| j 
¡ ƒƒgtjd d… ¢R  }tj | j|¡| _| jg| _d S )NÚinstall_lib)r   r   Úinstall)r	   r	   )r
   r
   )ÚdebÚunixz"unknown value for --install-layoutr   FTz%s-%s.egg-infoz%s-%s-py%d.%d.egg-infoé   )Úset_undefined_optionsr	   ÚlowerÚDistutilsOptionErrorr
   Úto_filenameÚ	safe_nameÚdistributionÚget_nameÚsafe_versionÚget_versionÚsysÚversion_infoÚosÚpathÚjoinr   ÚtargetÚoutputs)r   Úno_pyverÚbasenamer   r   r   Úfinalize_options   s2   ÿþþýz!install_egg_info.finalize_optionsc                 C   sÖ   | j }tj |¡rtj |¡stj|| jd� n'tj |¡r+|  	tj
| j fd| ¡ ntj | j¡s?|  	tj| jfd| j ¡ t d|¡ | jsit|ddd��}| jj |¡ W d   ƒ d S 1 sbw   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#   Úfr   r   r   Úrun4   s   ÿ"ÿÿzinstall_egg_info.runc                 C   s   | j S r   )r$   r   r   r   r   Úget_outputsB   s   zinstall_egg_info.get_outputsN)
Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚdescriptionÚuser_optionsr   r'   r7   r8   r   r   r   r   r      s    þr   c                 C   s   t  dd| ¡S )z�Convert 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©Únamer   r   r   r   J   s   r   c                 C   s   |   dd¡} t dd| ¡S )zÌConvert 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   )Úversionr   r   r   r   R   s   r   c                 C   s   |   dd¡S )z|Convert a project or version name to its filename-escaped form

    Any '-' characters are currently replaced with '_'.
    r@   Ú_)rG   rC   r   r   r   r   \   s   r   )r<   Údistutils.cmdr   Ú	distutilsr   r   r    r   rA   r   r   r   r   r   r   r   r   Ú<module>   s    ?
