ó
Ð²Ebc           @   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 n  e j e ƒ Z d	 „  Z d
 „  Z d S(   s;   Metadata generation logic for legacy source distributions.
iÿÿÿÿN(   t   InstallationError(   t   make_setuptools_egg_info_args(   t   call_subprocess(   t   TempDirectory(   t   MYPY_CHECK_RUNNING(   t   BuildEnvironmentc         C   s   g  t  j |  ƒ D] } | j d ƒ r | ^ q } | sO t d j |  ƒ ƒ ‚ n  t | ƒ d k ry t d j |  ƒ ƒ ‚ n  t  j j |  | d ƒ S(   s3   Find an .egg-info subdirectory in `directory`.
    s	   .egg-infos"   No .egg-info directory found in {}i   s-   More than one .egg-info directory found in {}i    (   t   ost   listdirt   endswithR    t   formatt   lent   patht   join(   t	   directoryt   ft	   filenames(    (    sK   /tmp/pip-build-UPPWic/pip/pip/_internal/operations/build/metadata_legacy.pyt   _find_egg_info   s    1c      
   C   sp   t  j d | | ƒ t d d d t ƒ j } t | d | d | ƒ} |   t | d | d d	 ƒWd
 QXt | ƒ S(   sn   Generate metadata using setup.py-based defacto mechanisms.

    Returns the generated metadata directory.
    s2   Running setup.py (path:%s) egg_info for package %st   kinds   pip-egg-infot   globally_managedt   egg_info_dirt   no_user_configt   cwdt   command_descs   python setup.py egg_infoN(   t   loggert   debugR   t   TrueR   R   R   R   (   t	   build_envt   setup_py_patht
   source_dirt   isolatedt   detailsR   t   args(    (    sK   /tmp/pip-build-UPPWic/pip/pip/_internal/operations/build/metadata_legacy.pyt   generate_metadata*   s    
	(   t   __doc__t   loggingR   t   pip._internal.exceptionsR    t$   pip._internal.utils.setuptools_buildR   t   pip._internal.utils.subprocessR   t   pip._internal.utils.temp_dirR   t   pip._internal.utils.typingR   t   pip._internal.build_envR   t	   getLoggert   __name__R   R   R    (    (    (    sK   /tmp/pip-build-UPPWic/pip/pip/_internal/operations/build/metadata_legacy.pyt   <module>   s   	