
    жvg*                     |    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	  e j
        e          Z G d d          ZdS )    N)OrderedDict)DictList)canonicalize_name)InstallRequirementc                       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S )RequirementSetTcheck_supported_wheelsreturnNc                 H    t                      | _        || _        g | _        dS )zCreate a RequirementSet.N)r   requirementsr
   unnamed_requirements)selfr
   s     V/var/www/pixelcanvas.ch/venv/lib/python3.11/site-packages/pip/_internal/req/req_set.py__init__zRequirementSet.__init__   s'     <G==&<#>@!!!    c                     t          d | j                                        D             d           }d                    d |D                       S )Nc              3   (   K   | ]}|j         	|V  d S N)
comes_from.0reqs     r   	<genexpr>z)RequirementSet.__str__.<locals>.<genexpr>   s)      MMScnMSMMMMMMr   c                 .    t          | j        pd          S N r   namer   s    r   <lambda>z(RequirementSet.__str__.<locals>.<lambda>       -chn"== r   key c              3   >   K   | ]}t          |j                  V  d S r   strr   r   s     r   r   z)RequirementSet.__str__.<locals>.<genexpr>   s*      ==CG======r   )sortedr   valuesjoin)r   r   s     r   __str__zRequirementSet.__str__   s_    MMD-4466MMM==
 
 
 xx========r   c                     t          | j                                        d           }d}|                    | j        j        t          |          d                    d |D                                 S )Nc                 .    t          | j        p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   >   K   | ]}t          |j                  V  d S r   r'   r   s     r   r   z*RequirementSet.__repr__.<locals>.<genexpr>&   s*      @@C3sw<<@@@@@@r   )	classnamecountreqs)r)   r   r*   format	__class____name__lenr+   )r   r   format_strings      r   __repr__zRequirementSet.__repr__   s    $$&&==
 
 

 O##n-l##@@<@@@@@ $ 
 
 	
r   install_reqc                 L    |j         rJ | j                            |           d S r   )r   r   append)r   r9   s     r   add_unnamed_requirementz&RequirementSet.add_unnamed_requirement)   s.    ####!((55555r   c                 T    |j         sJ t          |j                   }|| j        |<   d S r   )r   r   r   )r   r9   project_names      r   add_named_requirementz$RequirementSet.add_named_requirement-   s4    ()9::*5,'''r   r   c                 X    t          |          }|| j        v o| j        |         j         S r   )r   r   
constraintr   r   r>   s      r   has_requirementzRequirementSet.has_requirement3   s7    (.. D-- ?%l3>>	
r   c                 p    t          |          }|| j        v r| j        |         S t          d|          )NzNo project with the name )r   r   KeyErrorrB   s      r   get_requirementzRequirementSet.get_requirement;   sB    (..4,,,$\22;4;;<<<r   c                 ^    | j         t          | j                                                  z   S r   )r   listr   r*   r   s    r   all_requirementszRequirementSet.all_requirementsC   s'    (40A0H0H0J0J+K+KKKr   c                 $    d | j         D             S )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.
        c                 .    g | ]}|j         	|j        |S  )rA   satisfied_by)r   r9   s     r   
<listcomp>z:RequirementSet.requirements_to_install.<locals>.<listcomp>N   s>     
 
 
)
 3>2J

 
 
r   )rJ   rI   s    r   requirements_to_installz&RequirementSet.requirements_to_installG   s&    
 
#4
 
 
 	
r   )T)r5   
__module____qualname__boolr   r(   r,   r8   r   r<   r?   rC   rF   propertyr   rJ   rP   rM   r   r   r	   r	      sb       A At At A A A A> > > > >
# 
 
 
 
63E 6$ 6 6 6 661C 6 6 6 6 6
C 
D 
 
 
 
=C =,> = = = = L$'9": L L L XL 

.@)A 

 

 

 X

 

 

r   r	   )loggingcollectionsr   typingr   r   pip._vendor.packaging.utilsr   pip._internal.req.req_installr   	getLoggerr5   loggerr	   rM   r   r   <module>r\      s     # # # # # #         9 9 9 9 9 9 < < < < < <		8	$	$F
 F
 F
 F
 F
 F
 F
 F
 F
 F
r   