
    /h                         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m	Z	m
Z
 ddlmZ ddlmZ ddlmZ  ej        e          Zd	ed
efdZdededededed
efdZdS )z;Metadata generation logic for legacy source distributions.
    N)BuildEnvironment)open_spinner)InstallationErrorInstallationSubprocessErrorMetadataGenerationFailed)make_setuptools_egg_info_args)call_subprocess)TempDirectory	directoryreturnc                    d t          j        |           D             }|st          d|            t          |          dk    r"t          d                    |                     t           j                            | |d                   S )z.Find an .egg-info subdirectory in `directory`.c                 <    g | ]}|                     d           |S )z	.egg-info)endswith).0fs     a/var/www/html/venv/lib/python3.11/site-packages/pip/_internal/operations/build/metadata_legacy.py
<listcomp>z"_find_egg_info.<locals>.<listcomp>   s)    MMMqQZZ5L5LMMMM    z No .egg-info directory found in    z-More than one .egg-info directory found in {}r   )oslistdirr   lenformatpathjoin)r   	filenamess     r   _find_egg_infor      s    MMBJy11MMMI P N9 N NOOO
9~~;BB9MM
 
 	
 7<<	9Q<000r   	build_envsetup_py_path
source_dirisolateddetailsc                    t                               d||           t          dd          j        }t	          |||          }| 5  t          d          5 }	 t          ||d|           n## t          $ r}t          |	          |d
}~ww xY w	 d
d
d
           n# 1 swxY w Y   d
d
d
           n# 1 swxY w 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Preparing metadata (setup.py)zpython setup.py egg_info)cwdcommand_descspinner)package_detailsN)
loggerdebugr
   r   r   r   r	   r   r   r   )	r   r   r    r!   r"   r&   argsr*   errors	            r   generate_metadatar0   $   s    LL<   !ntLLLQL(!  D 
 
S 
S9:: 		SgS"!;#	     / S S S.wGGGURS		S 		S 		S 		S 		S 		S 		S 		S 		S 		S 		S 		S 		S 		S 		S
S 
S 
S 
S 
S 
S 
S 
S 
S 
S 
S 
S 
S 
S 
S ,'''sZ   B4BA-,B-
B7BBBB4B!	!B4$B!	%B44B8;B8)__doc__loggingr   pip._internal.build_envr   pip._internal.cli.spinnersr   pip._internal.exceptionsr   r   r   $pip._internal.utils.setuptools_buildr   pip._internal.utils.subprocessr	   pip._internal.utils.temp_dirr
   	getLogger__name__r,   strr   boolr0    r   r   <module>r>      s<     				 4 4 4 4 4 4 3 3 3 3 3 3         
 O N N N N N : : : : : : 6 6 6 6 6 6		8	$	$1c 1c 1 1 1 1&(&(&( &( 	&(
 &( 	&( &( &( &( &( &(r   