3
g                 @   s   d 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
 ddlmZ ddlmZ ejeZeed	d
dZeeeeeedddZdS )z;Metadata generation logic for legacy source distributions.
    N)BuildEnvironment)open_spinner)InstallationError)make_setuptools_egg_info_args)call_subprocess)TempDirectory)	directoryreturnc             C   sR   dd t j| D }|s&td|  t|dkr@tdj| t jj| |d S )z.Find an .egg-info subdirectory in `directory`.c             S   s   g | ]}|j d r|qS )z	.egg-info)endswith).0f r   l/var/www/tester-filtro-web/env/lib/python3.6/site-packages/pip/_internal/operations/build/metadata_legacy.py
<listcomp>   s    z"_find_egg_info.<locals>.<listcomp>z No .egg-info directory found in    z-More than one .egg-info directory found in {}r   )oslistdirr   lenformatpathjoin)r   	filenamesr   r   r   _find_egg_info   s    r   )	build_envsetup_py_path
source_dirisolateddetailsr	   c             C   sf   t jd|| tdddj}t|||d}| * td}t||d|d W d	Q R X W d	Q R X t|S )
znGenerate metadata using setup.py-based defacto mechanisms.

    Returns the generated metadata directory.
    z2Running setup.py (path:%s) egg_info for package %szpip-egg-infoT)kindglobally_managed)egg_info_dirZno_user_configzPreparing metadata (setup.py)zpython setup.py egg_info)cwdcommand_descspinnerN)loggerdebugr   r   r   r   r   r   )r   r   r   r   r   r    argsr#   r   r   r   generate_metadata    s"    
r'   )__doc__loggingr   pip._internal.build_envr   pip._internal.cli.spinnersr   pip._internal.exceptionsr   Z$pip._internal.utils.setuptools_buildr   pip._internal.utils.subprocessr   pip._internal.utils.temp_dirr   	getLogger__name__r$   strr   boolr'   r   r   r   r   <module>   s    
