
    )hv                         d dl Zd dlZd dlZd dlmZ d dlmZmZm	Z	 ej                  dk\  rd dlZn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	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)InstallationErrorInvalidPyProjectBuildRequiresMissingPyProjectBuildRequires)get_requirementobjreturnc                 J    t        | t              xr t        d | D              S )Nc              3   <   K   | ]  }t        |t                y w)N)
isinstancestr).0items     J/var/www/html/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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   3x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.)r1   reasonz$It contains an invalid requirement: zbackend-path)r   r    isfiler   opentomllib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_tomlrD   #   sR   0 GGNN>2Mx(Ij = >
 	

 .73 	.qmmAFFH-G	.{{>2 Y!*#3  
	/\9!*#$$*F<+H$I 
 
 
	 5>>++L995>>++G44 	 !!!  ..?
 ### %+H== J'H8$+1
 	
   	K( /G##NB7LE 5%&hEEi	. 	.x " 	/ =k_M 	s$    $F5.G5F?	G!GG!)importlib.utilr:   r   syscollectionsr   typingr   r   r   version_infor5   pip._vendorr	   "pip._vendor.packaging.requirementsr
   pip._internal.exceptionsr   r   r   pip._internal.utils.packagingr   boolr   r   r"   r#   rD    r   r   <module>rP      s     	 
 " & &w, A 
 :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   