
    ;ȋh	                    D    d dl mZ d dlmZ d dlmZ  G d d          ZdS )    )annotations)canonicalize_name)CommandErrorc                  `    e Zd ZdZddgZ	 	 dddZddZddZedd            Z	ddZ
ddZdS )FormatControlzBHelper for managing formats from which a package can be installed.	no_binaryonly_binaryNset[str] | NonereturnNonec                b    |t                      }|t                      }|| _        || _        d S N)setr   r	   )selfr   r	   s      `/var/www/pixelcanvas.ch/venv/lib/python3.11/site-packages/pip/_internal/models/format_control.py__init__zFormatControl.__init__   s7    
 I%%K"&    otherobjectboolc                     t           j                  st          S  j        j        k    rdS t	           fd j        D                       S )NFc              3  \   K   | ]&}t          |          t          |          k    V  'd S r   )getattr).0kr   r   s     r   	<genexpr>z'FormatControl.__eq__.<locals>.<genexpr>!   s<      QQQ74##wua'8'88QQQQQQr   )
isinstance	__class__NotImplemented	__slots__all)r   r   s   ``r   __eq__zFormatControl.__eq__   sZ    %00 	"!!>U_,,5QQQQQ$.QQQQQQr   strc                @    | j         j         d| j         d| j         dS )N(z, ))r   __name__r   r	   r   s    r   __repr__zFormatControl.__repr__#   s+    .)QQDNQQd>NQQQQr   valuetargetset[str]c                   |                      d          rt          d          |                     d          }d|v rb|                                 |                                 |                    d           |d |                    d          dz   = d|vrd S d|v b|D ]V}|dk    r|                                 t          |          }|                    |           |                    |           Wd S )N-z7--no-binary / --only-binary option requires 1 argument.,:all:   z:none:)
startswithr   splitclearaddindexr   discard)r*   r+   r   newnames        r   handle_mutual_excludesz$FormatControl.handle_mutual_excludes&   s   C   	I   kk#nnKKMMMLLNNNJJw,cii((1,,-s"" nn  	 	Dx$T**DMM$JJt	 	r   canonical_namefrozenset[str]c                   ddh}|| j         v r|                    d           n\|| j        v r|                    d           n=d| j         v r|                    d           nd| j        v r|                    d           t          |          S )Nbinarysourcer0   )r	   r7   r   	frozenset)r   r;   results      r   get_allowed_formatsz!FormatControl.get_allowed_formats=   s    H%T---NN8$$$$t~--NN8$$$$(((NN8$$$$&&NN8$$$   r   c                H    |                      d| j        | j                   d S )Nr0   )r:   r   r	   r(   s    r   disallow_binarieszFormatControl.disallow_binariesI   s2    ##N	
 	
 	
 	
 	
r   )NN)r   r
   r	   r
   r   r   )r   r   r   r   )r   r#   )r*   r#   r+   r,   r   r,   r   r   )r;   r#   r   r<   )r   r   )r'   
__module____qualname____doc__r    r   r"   r)   staticmethodr:   rB   rD    r   r   r   r      s        LLm,I &*'+' ' ' ' 'R R R RR R R R    \,
! 
! 
! 
!
 
 
 
 
 
r   r   N)
__future__r   pip._vendor.packaging.utilsr   pip._internal.exceptionsr   r   rI   r   r   <module>rM      sw    " " " " " " 9 9 9 9 9 9 1 1 1 1 1 1F
 F
 F
 F
 F
 F
 F
 F
 F
 F
r   