
    жvg	                     L    d dl mZmZmZ d dlmZ d dlmZ  G d d          ZdS )    )	FrozenSetOptionalSet)canonicalize_name)CommandErrorc            	           e Zd ZdZddgZ	 	 ddeee                  deee                  ddfdZde	de
fdZdefd	Zed
edee         dee         ddfd            Zdedee         fdZddZdS )FormatControlzBHelper for managing formats from which a package can be installed.	no_binaryonly_binaryNreturnc                 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"&    otherc                      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   c                 @    | 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targetc                    |                      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_namec                    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sourcer,   )r   r3   r
   	frozenset)r   r7   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 )Nr,   )r6   r
   r   r%   s    r   disallow_binarieszFormatControl.disallow_binariesI   s2    ##N	
 	
 	
 	
 	
r   )NN)r   N)r$   
__module____qualname____doc__r   r   r   strr   objectboolr    r&   staticmethodr6   r   r=   r?    r   r   r	   r	      s:       LLm,I )-*.' 'CH%' c#h'' 
	' ' ' 'RF Rt R R R RR# R R R R c 3s8 CH QU    \,
!# 
!)C. 
! 
! 
! 
!
 
 
 
 
 
r   r	   N)	typingr   r   r   pip._vendor.packaging.utilsr   pip._internal.exceptionsr   r	   rG   r   r   <module>rK      s    + + + + + + + + + + 9 9 9 9 9 9 1 1 1 1 1 1F
 F
 F
 F
 F
 F
 F
 F
 F
 F
r   