
    )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y)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                    t        j                  |       D cg c]  }|j                  d      s| }}|st        d|        t	        |      dkD  rt        d|        t         j
                  j                  | |d         S c c}w )z.Find an .egg-info subdirectory in `directory`.z	.egg-infoz No .egg-info directory found in    z+More than one .egg-info directory found in r   )oslistdirendswithr   lenpathjoin)r   f	filenamess      a/var/www/html/venv/lib/python3.12/site-packages/pip/_internal/operations/build/metadata_legacy.py_find_egg_infor      s    JJy1MqQZZ5LMIM"B9+ NOO
9~9)E
 	
 77<<	9Q<00 Ns
   BB	build_envsetup_py_path
source_dirisolateddetailsc                 p   t         j                  d||       t        dd      j                  }t	        |||      }| 5  t        d      5 }	 t        ||d|       	 d
d
d
       d
d
d
       t        |      S # t        $ r}t        |	      |d
}~ww xY w# 1 sw Y   :xY w# 1 sw Y   t        |      S xY w)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_metadatar+   #   s     LL< !ntLQQL(!D 
 
S9: 		SgS"!;#			S
S ,''	 / S.wGURS		S 		S
S ,''sA   B"BA8B"8	BBBBB	B""B5)__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   boolr+        r   <module>r:      s    @  	 4 3 
 O : 6			8	$1c 1c 1&(&(&( &( 	&(
 &( 	&(r9   