
    *,h`                         d dl Z d dlmZ d dlmZm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 j                   e      Z G d	 d
      Zy)    N)OrderedDict)DictList)LegacySpecifier)canonicalize_name)LegacyVersion)InstallRequirement)
deprecatedc                       e Zd ZddeddfdZdefdZdefdZdeddfdZ	deddfd	Z
d
edefdZd
edefdZedee   fd       Zedee   fd       ZddZy)RequirementSetcheck_supported_wheelsreturnNc                 >    t               | _        || _        g | _        y)zCreate a RequirementSet.N)r   requirementsr   unnamed_requirements)selfr   s     [/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/pip/_internal/req/req_set.py__init__zRequirementSet.__init__   s     <G=&<#>@!    c                     t        d | j                  j                         D        d       }dj                  d |D              S )Nc              3   :   K   | ]  }|j                   r|  y wN)
comes_from.0reqs     r   	<genexpr>z)RequirementSet.__str__.<locals>.<genexpr>   s     MScnnSMs   c                 4    t        | j                  xs d      S N r   namer   s    r   <lambda>z(RequirementSet.__str__.<locals>.<lambda>       -chhn"= r   key c              3   F   K   | ]  }t        |j                          y wr   strr   r   s     r   r   z)RequirementSet.__str__.<locals>.<genexpr>   s     =CGG=   !)sortedr   valuesjoin)r   r   s     r   __str__zRequirementSet.__str__   s=    MD--446M=
 xx====r   c                     t        | j                  j                         d       }d}|j                  | j                  j
                  t        |      dj                  d |D                    S )Nc                 4    t        | j                  xs d      S r   r!   r#   s    r   r$   z)RequirementSet.__repr__.<locals>.<lambda>"   r%   r   r&   z4<{classname} object; {count} requirement(s): {reqs}>z, c              3   F   K   | ]  }t        |j                          y wr   r*   r   s     r   r   z*RequirementSet.__repr__.<locals>.<genexpr>)   s     @C3sww<@r,   )	classnamecountreqs)r-   r   r.   format	__class____name__lenr/   )r   r   format_strings      r   __repr__zRequirementSet.__repr__   sh    $$&=

 O##nn--l#@<@@ $ 
 	
r   install_reqc                 V    |j                   rJ | j                  j                  |       y r   )r"   r   appendr   r=   s     r   add_unnamed_requirementz&RequirementSet.add_unnamed_requirement,   s"    ###!!((5r   c                 h    |j                   sJ t        |j                         }|| j                  |<   y r   )r"   r   r   )r   r=   project_names      r   add_named_requirementz$RequirementSet.add_named_requirement0   s.    ()9)9:*5,'r   r"   c                 l    t        |      }|| j                  v xr | j                  |   j                   S r   )r   r   
constraintr   r"   rC   s      r   has_requirementzRequirementSet.has_requirement6   s=    (. D--- ?%%l3>>>	
r   c                 n    t        |      }|| j                  v r| j                  |   S t        d|      )NzNo project with the name )r   r   KeyErrorrG   s      r   get_requirementzRequirementSet.get_requirement>   s>    (.4,,,$$\2224(;<<r   c                 b    | j                   t        | j                  j                               z   S r   )r   listr   r.   )r   s    r   all_requirementszRequirementSet.all_requirementsF   s'    ((40A0A0H0H0J+KKKr   c                 p    | j                   D cg c]  }|j                  s|j                  s| c}S c c}w )zReturn the list of requirements that need to be installed.

        TODO remove this property together with the legacy resolver, since the new
             resolver only returns requirements that need to be installed.
        )rN   rF   satisfied_byr@   s     r   requirements_to_installz&RequirementSet.requirements_to_installJ   s;      $44
))+2J2J 
 	
 
s   !3c                 ^   | j                   D ]  }|j                         j                  }t        |t              rt        d| d| dddd       |j                         j                         D ];  }t        d |j                  D              s t        d	| d
| d| d| d	ddd       =  y )Nz*pip has selected the non standard version z of zL. In the future this version will be ignored as it isn't standard compliant.zkset or update constraints to select another version or contact the package author to fix the version numberi/  z23.3)reasonreplacementissuegone_inc              3   <   K   | ]  }t        |t                y wr   )
isinstancer   )r   specs     r   r   zERequirementSet.warn_legacy_versions_and_specifiers.<locals>.<genexpr>i   s     STz$8Ss   zpip has selected r(   z- which has non standard dependency specifier z . In the future this version of z0 will be ignored as it isn't standard compliant.)	rQ   get_distversionrX   r   r
   iter_dependenciesany	specifier)r   r   r[   deps       r   #warn_legacy_versions_and_specifiersz2RequirementSet.warn_legacy_versions_and_specifiersW   s    // 	Clln,,G'=1DWI N!U #BC
R  " ||~779 SS]]SS/uAgY ?==@E B==@E BFGV $ &!	r   )T)r   N)r9   
__module____qualname__boolr   r+   r0   r<   r	   rA   rD   rH   rK   propertyr   rN   rQ   r`    r   r   r   r      s    At At A> >
# 
63E 6$ 661C 6 6
C 
D 
=C =,> = L$'9": L L 

.@)A 

 

 r   r   )loggingcollectionsr   typingr   r    pip._vendor.packaging.specifiersr   pip._vendor.packaging.utilsr   pip._vendor.packaging.versionr   pip._internal.req.req_installr	   pip._internal.utils.deprecationr
   	getLoggerr9   loggerr   re   r   r   <module>rp      s;     #  < 9 7 < 6			8	$h hr   