
    *,h                         d dl Zd dl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mZ d dlmZmZmZ dedefd	Zd
edefdZ edg d      Zdee   dedededee   f
dZy)    N)
namedtuple)AnyListOptional)tomli)InvalidRequirementRequirement)InstallationErrorInvalidPyProjectBuildRequiresMissingPyProjectBuildRequiresobjreturnc                 J    t        | t              xr t        d | D              S )Nc              3   <   K   | ]  }t        |t                y w)N)
isinstancestr).0items     Y/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/pip/_internal/pyproject.py	<genexpr>z"_is_list_of_str.<locals>.<genexpr>   s     (O4D#)>(Os   )r   listall)r   s    r   _is_list_of_strr      s    c4 OS(O3(O%OO    unpacked_source_directoryc                 B    t         j                  j                  | d      S )Nzpyproject.toml)ospathjoin)r   s    r   make_pyproject_pathr       s    77<<13CDDr   BuildSystemDetails)requiresbackendcheckbackend_path
use_pep517pyproject_tomlsetup_pyreq_namec                    t         j                  j                  |      }t         j                  j                  |      }|s|st        | d      |rKt	        |d      5 }t        j                  |j                               }ddd       j                  d      }nd}|r|s| | st        d      d} nr|r(d|v r$| | st        d	j                  |d               d} nH| F|xsB t        j                  j                  d
       xs  t        j                  j                  d       } | J | sy|ddgdd}|J d|vrt        |      |d   }	t        |	      st        |d      |	D ]  }
	 t!        |
        |j                  d      }|j                  dg       }g }|d}dg}t%        |	|||      S # 1 sw Y   4xY w# t"        $ r}t        |d|
      |d}~ww xY w)aB  Load the pyproject.toml file.

    Parameters:
        use_pep517 - Has the user requested PEP 517 processing? None
                     means the user hasn't explicitly specified.
        pyproject_toml - Location of the project's pyproject.toml file
        setup_py - Location of the project's setup.py file
        req_name - The name of the requirement we're processing (for
                   error reporting)

    Returns:
        None if we should use the legacy code path, otherwise a tuple
        (
            requirements from pyproject.toml,
            name of PEP 517 backend,
            requirements we should check are installed after setting
                up the build environment
            directory paths to import the backend from (backend-path),
                relative to the project root.
        )
    zW does not appear to be a Python project: neither 'setup.py' nor 'pyproject.toml' found.zutf-8)encodingNzbuild-systemzIDisabling PEP 517 processing is invalid: project does not have a setup.pyTbuild-backendzbDisabling PEP 517 processing is invalid: project specifies a build backend of {} in pyproject.toml
setuptoolswheelzsetuptools>=40.8.0z setuptools.build_meta:__legacy__)r"   r,   r"   )packagezIt is not a list of strings.)r/   reasonz$It contains an invalid requirement: zbackend-path)r   r   isfiler
   openr   loadsreadgetformat	importlibutil	find_specr   r   r   r	   r   r!   )r&   r'   r(   r)   has_pyproject	has_setupfpp_tomlbuild_systemr"   requirementerrorr#   r%   r$   s                  r   load_pyproject_tomlrA      sN   0 GGNN>2Mx(Ij = >
 	

 .73 	,qkk!&&(+G	,{{>2 Y!*#3  
	/\9!*#$$*F<+H$I 
 
 
	 5>>++L995>>++G44 	 !!  .w7?
 ## %+H== J'H8$+1
 	
   	$ /G##NB7LE 5%&hEEi	, 	,x " 	/ =k_M 	s$    $F6/G6G 	G"GG")importlib.utilr7   r   collectionsr   typingr   r   r   pip._vendorr   "pip._vendor.packaging.requirementsr   r	   pip._internal.exceptionsr
   r   r   boolr   r   r    r!   rA    r   r   <module>rJ      s     	 " & &  N P P PE3 E3 E  J 
VFVF03VF?BVFNQVF !VFr   