a
    e0h                     @   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 er`ddlmZ eeZd	d
 Zdd ZdS )z;Metadata generation logic for legacy source distributions.
    N)InstallationError)make_setuptools_egg_info_args)call_subprocess)TempDirectory)MYPY_CHECK_RUNNING)BuildEnvironmentc                 C   sR   dd t | D }|s&td| t|dkr@td| t j| |d S )z3Find an .egg-info subdirectory in `directory`.
    c                 S   s   g | ]}| d r|qS )z	.egg-info)endswith).0f r   \/var/www/auris/lib/python3.9/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   formatlenpathjoin)	directory	filenamesr   r   r   _find_egg_info   s    r   c                 C   sd   t d|| tdddj}t|||d}|  t||dd W d   n1 sR0    Y  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_dirno_user_configzpython setup.py egg_info)cwdcommand_descN)loggerdebugr   r   r   r   r   )	build_envsetup_py_path
source_dirisolateddetailsr   argsr   r   r   generate_metadata*   s&    $r&   )__doc__loggingr   pip._internal.exceptionsr   $pip._internal.utils.setuptools_buildr   pip._internal.utils.subprocessr   pip._internal.utils.temp_dirr   pip._internal.utils.typingr   pip._internal.build_envr   	getLogger__name__r   r   r&   r   r   r   r   <module>   s   
