3
ôÁgØ	  ã               @   s>   d dl mZmZmZ d dlmZ d dlmZ G dd„ dƒZdS )é    )Ú	FrozenSetÚOptionalÚSet)Úcanonicalize_name)ÚCommandErrorc               @   sœ   e Zd ZdZddgZdeee  eee  ddœdd„Ze	e
dœd	d
„Zedœdd„Zeeee ee ddœdd„ƒZeee dœdd„Zddœdd„ZdS )ÚFormatControlzBHelper for managing formats from which a package can be installed.Ú	no_binaryÚonly_binaryN)r   r	   Úreturnc             C   s,   |d krt ƒ }|d krt ƒ }|| _|| _d S )N)Úsetr   r	   )Úselfr   r	   © r   úa/var/www/tester-filtro-web/env/lib/python3.6/site-packages/pip/_internal/models/format_control.pyÚ__init__   s    zFormatControl.__init__)Úotherr
   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 )N)Úgetattr)Ú.0Úk)r   r   r   r   ú	<genexpr>!   s    z'FormatControl.__eq__.<locals>.<genexpr>)Ú
isinstanceÚ	__class__ÚNotImplementedÚ	__slots__Úall)r   r   r   )r   r   r   Ú__eq__   s
    zFormatControl.__eq__)r
   c             C   s   dj | jj| j| jƒS )Nz
{}({}, {}))Úformatr   Ú__name__r   r	   )r   r   r   r   Ú__repr__#   s    zFormatControl.__repr__)ÚvalueÚtargetr   r
   c             C   s¤   | j dƒrtdƒ‚| jdƒ}xFd|krb|jƒ  |jƒ  |jdƒ |d |jdƒd …= d|krd S qW x:|D ]2}|dkr€|jƒ  qjt|ƒ}|j|ƒ |j|ƒ qjW d S )Nú-z7--no-binary / --only-binary option requires 1 argument.ú,z:all:é   z:none:)Ú
startswithr   ÚsplitÚclearÚaddÚindexr   Údiscard)r   r   r   ÚnewÚnamer   r   r   Úhandle_mutual_excludes(   s$    





z$FormatControl.handle_mutual_excludes)Úcanonical_namer
   c             C   sf   ddh}|| j kr|jdƒ n@|| jkr4|jdƒ n*d| j krJ|jdƒ nd| jkr^|jdƒ t|ƒS )NÚbinaryÚsourcez:all:)r	   r(   r   Ú	frozenset)r   r,   Úresultr   r   r   Úget_allowed_formats?   s    




z!FormatControl.get_allowed_formatsc             C   s   | j d| j| jƒ d S )Nz:all:)r+   r   r	   )r   r   r   r   Údisallow_binariesK   s    zFormatControl.disallow_binaries)NN)r   Ú
__module__Ú__qualname__Ú__doc__r   r   r   Ústrr   ÚobjectÚboolr   r   Ústaticmethodr+   r   r1   r2   r   r   r   r   r      s    		r   N)	Útypingr   r   r   Úpip._vendor.packaging.utilsr   Úpip._internal.exceptionsr   r   r   r   r   r   Ú<module>   s   