3
\+
� @ sd d Z ddlmZ ddlmZmZ ddlZddlZddlZG dd� de�Z dd� Z
d d
� Zdd� ZdS )
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 Zd ZdZdZdgZdd� Zdd � Zd
d� Zdd
� Z dS )�install_egg_infoz)Install an .egg-info file for the packagez8Install package's PKG-INFO metadata as an .egg-info file�install-dir=�d�directory to install toc C s
d | _ d S )N)�install_dir)�self� r �:/usr/lib64/python3.6/distutils/command/install_egg_info.py�initialize_options s z#install_egg_info.initialize_optionsc C sb | j dd� dtt| jj� ��tt| jj� ��ftjd d� � }t j
j| j|�| _
| j
g| _d S )NZinstall_libr z%s-%s-py%d.%d.egg-info� )r r )Zset_undefined_options�to_filename� safe_name�distributionZget_name�safe_versionZget_version�sys�version_info�os�path�joinr �target�outputs)r
�basenamer r r �finalize_options s z!install_egg_info.finalize_optionsc C s� | j }tjj|�r2tjj|� r2tj|| jd� nNtjj|�rX| j tj
| j fd| � n(tjj| j�s�| j tj| jfd| j � t
jd|� | js�t|ddd��}| jjj|� W d Q R X d S )N)�dry_runz Removing z Creating z
Writing %s�wzUTF-8)�encoding)r r r �isdir�islinkr Zremove_treer �existsZexecute�unlinkr �makedirsr �info�openr ZmetadataZwrite_pkg_file)r
r �fr r r �run s zinstall_egg_info.runc C s | j S )N)r )r
r r r �get_outputs. s zinstall_egg_info.get_outputsN)r r r )
�__name__�
__module__�__qualname__�__doc__ZdescriptionZuser_optionsr
r r' r( r r r r r s
r c C s t jdd| �S )z�Convert an arbitrary string to a standard distribution name
Any runs of non-alphanumeric/. characters are replaced with a single '-'.
z[^A-Za-z0-9.]+�-)�re�sub)�namer r r r 6 s r c C s | j dd�} tjdd| �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.
� �.z[^A-Za-z0-9.]+r- )�replacer. r/ )�versionr r r r > s r c C s | j dd�S )z|Convert a project or version name to its filename-escaped form
Any '-' characters are currently replaced with '_'.
r- �_)r3 )r0 r r r r H s r )
r, Z
distutils.cmdr Z distutilsr r r r r. r r r r r r r r �