
     f	                     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      f/var/www/api.educacionweb.es/myenv/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                 X    d                     | j        j        | j        | j                  S )Nz
{}({}, {}))formatr   __name__r
   r   r   s    r   __repr__zFormatControl.__repr__#   s+    ""N#T^T5E
 
 	
r   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   r2   r
   	frozenset)r   r6   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+   )r5   r
   r   r$   s    r   disallow_binarieszFormatControl.disallow_binariesK   s2    ##N	
 	
 	
 	
 	
r   )NN)r   N)r#   
__module____qualname____doc__r   r   r   strr   objectboolr    r%   staticmethodr5   r   r<   r>    r   r   r	   r	      s5       LLm,I )-*.' 'CH%' c#h'' 
	' ' ' 'RF Rt R R R R
# 
 
 
 

 c 3s8 CH QU    \,
!# 
!)C. 
! 
! 
! 
!
 
 
 
 
 
r   r	   N)	typingr   r   r   pip._vendor.packaging.utilsr   pip._internal.exceptionsr   r	   rF   r   r   <module>rJ      s    + + + + + + + + + + 9 9 9 9 9 9 1 1 1 1 1 1H
 H
 H
 H
 H
 H
 H
 H
 H
 H
r   