B � f+ �@sddZddlmZddlmZmZddlZddlZddlZGdd�de�Z dd�Z d d �Z d d �Z dS) 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:eZdZdZdZdgZdd�Zdd�Zdd �Zd 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=�dzdirectory to install tocCs d|_dS)N)� install_dir)�self�r �G/opt/alt/python37/lib64/python3.7/distutils/command/install_egg_info.py�initialize_optionssz#install_egg_info.initialize_optionscCsb|�dd�dtt|j����tt|j����ftjdd��}t j � |j |�|_ |j g|_dS)NZ install_lib)rrz%s-%s-py%d.%d.egg-info�)Zset_undefined_options� to_filename� safe_name� distributionZget_name� safe_versionZ get_version�sys� version_info�os�path�joinr�target�outputs)r�basenamer r r �finalize_optionss z!install_egg_info.finalize_optionsc Cs�|j}tj�|�r0tj�|�s0tj||jd�nNtj�|�rV|� tj |jfd|�n(tj�|j �s~|� tj |j fd|j �t �d|�|js�t|ddd��}|jj�|�WdQRXdS)N)�dry_runz Removing z Creating z Writing %s�wzUTF-8)�encoding)rrr�isdir�islinkrZ remove_treer�existsZexecute�unlinkr�makedirsr�info�openrZmetadataZwrite_pkg_file)rr�fr r r �run s   zinstall_egg_info.runcCs|jS)N)r)rr r r � get_outputs.szinstall_egg_info.get_outputsN) �__name__� __module__� __qualname__�__doc__Z descriptionZ user_optionsr rr%r&r r r r r s rcCst�dd|�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 r6srcCs|�dd�}t�dd|�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 rcCs |�dd�S)z|Convert a project or version name to its filename-escaped form Any '-' characters are currently replaced with '_'. r+�_)r1)r.r r r r Hsr ) r*Z distutils.cmdrZ distutilsrrrrr,rrrr r r r r �s +