a
    eÖ0h  ã                   @   sP   d dl mZ d dlmZ d dlmZ er<d dlmZmZm	Z	 G dd„ de
ƒZdS )é    )Úcanonicalize_name)ÚCommandError)ÚMYPY_CHECK_RUNNING)Ú	FrozenSetÚOptionalÚSetc                   @   sV   e Zd ZdZddgZddd„Zdd„ Zd	d
„ Zdd„ Ze	dd„ ƒZ
dd„ Zdd„ ZdS )ÚFormatControlzGHelper for managing formats from which a package can be installed.
    Ú	no_binaryÚonly_binaryNc                 C   s,   |d u rt ƒ }|d u rt ƒ }|| _|| _d S ©N)Úsetr	   r
   )Úselfr	   r
   © r   úQ/var/www/auris/lib/python3.9/site-packages/pip/_internal/models/format_control.pyÚ__init__   s    zFormatControl.__init__c                    s:   t ˆ ˆjƒstS ˆjˆ jkr dS t‡ ‡fdd„ˆjD ƒƒS )NFc                 3   s"   | ]}t ˆ|ƒt ˆ |ƒkV  qd S r   )Úgetattr)Ú.0Úk©Úotherr   r   r   Ú	<genexpr>"   s   ÿz'FormatControl.__eq__.<locals>.<genexpr>)Ú
isinstanceÚ	__class__ÚNotImplementedÚ	__slots__Úall©r   r   r   r   r   Ú__eq__   s    þzFormatControl.__eq__c                 C   s   |   |¡ S r   )r   r   r   r   r   Ú__ne__'   s    zFormatControl.__ne__c                 C   s   d  | jj| j| j¡S )Nz
{}({}, {}))Úformatr   Ú__name__r	   r
   ©r   r   r   r   Ú__repr__+   s
    ýzFormatControl.__repr__c                 C   sœ   |   d¡rtdƒ‚|  d¡}d|v r`| ¡  | ¡  | d¡ |d | d¡d …= d|vrd S q|D ]2}|dkrz| ¡  qdt|ƒ}| |¡ | |¡ qdd S )Nú-z7--no-binary / --only-binary option requires 1 argument.ú,ú:all:é   z:none:)Ú
startswithr   ÚsplitÚclearÚaddÚindexr   Údiscard)ÚvalueÚtargetr   ÚnewÚnamer   r   r   Úhandle_mutual_excludes3   s&    
ÿ


z$FormatControl.handle_mutual_excludesc                 C   sf   ddh}|| j v r| d¡ n@|| jv r4| d¡ n*d| j v rJ| d¡ nd| jv r^| d¡ t|ƒS )NÚbinaryÚsourcer%   )r
   r,   r	   Ú	frozenset)r   Úcanonical_nameÚresultr   r   r   Úget_allowed_formatsK   s    




z!FormatControl.get_allowed_formatsc                 C   s   |   d| j| j¡ d S )Nr%   )r1   r	   r
   r!   r   r   r   Údisallow_binariesX   s    
ÿzFormatControl.disallow_binaries)NN)r    Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r"   Ústaticmethodr1   r7   r8   r   r   r   r   r   
   s   


r   N)Úpip._vendor.packaging.utilsr   Úpip._internal.exceptionsr   Úpip._internal.utils.typingr   Útypingr   r   r   Úobjectr   r   r   r   r   Ú<module>   s
   