o
    g}”e™  ã                   @   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 e¡Zd	ed
efdd„Zdededededed
ef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  | ¡D ƒ}|std| › �ƒ‚t|ƒdkr td | ¡ƒ‚t j | |d ¡S )z.Find an .egg-info subdirectory in `directory`.c                 S   s   g | ]	}|  d ¡r|‘qS )z	.egg-info)Úendswith)Ú.0Úf© r   úw/Users/abhinavbhinder/Documents/map/venv/lib/python3.10/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Údetailsc              	   C   s¨   t  d||¡ tddd�j}t|||d�}| �1 tdƒ�}t||d|d� W d	  ƒ n1 s/w   Y  W d	  ƒ t|ƒS W d	  ƒ t|ƒS 1 sKw   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_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    s6   ýý
üÿ
ÿ
÷
ÿ
ö
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>   s0    
ÿþýüûú