B
    `’»dÞ  ã               @   st   d dl mZ d dlmZ erHd dlmZmZmZ d dlm	Z	 d dl
mZ dd„ ZG dd	„ d	eƒZG d
d„ deƒZdS )é    )Úcanonicalize_name)ÚMYPY_CHECK_RUNNING)ÚOptionalÚSequenceÚSet)ÚInstallRequirement)Ú_BaseVersionc             C   s,   |s| S t dd„ |D ƒƒ}d | d |¡¡S )Nc             s   s   | ]}t |ƒV  qd S )N)r   )Ú.0Úe© r   úL/tmp/pip-unpacked-wheel-hu9qqap1/pip/_internal/resolution/resolvelib/base.pyú	<genexpr>   s    zformat_name.<locals>.<genexpr>z{}[{}]ú,)ÚsortedÚformatÚjoin)ÚprojectÚextrasZcanonical_extrasr   r   r   Úformat_name   s    r   c               @   s(   e Zd Zedd„ ƒZdd„ Zdd„ ZdS )ÚRequirementc             C   s   t dƒ‚d S )NzSubclass should override)ÚNotImplementedError)Úselfr   r   r   Úname   s    zRequirement.namec             C   s   t dƒ‚d S )NzSubclass should override)r   )r   r   r   r   Úfind_matches   s    zRequirement.find_matchesc             C   s   dS )NFr   )r   Ú	candidater   r   r   Úis_satisfied_by   s    zRequirement.is_satisfied_byN)Ú__name__Ú
__module__Ú__qualname__Úpropertyr   r   r   r   r   r   r   r      s   r   c               @   s4   e Zd Zedd„ ƒZedd„ ƒZdd„ Zdd„ Zd	S )
Ú	Candidatec             C   s   t dƒ‚d S )NzOverride in subclass)r   )r   r   r   r   r   $   s    zCandidate.namec             C   s   t dƒ‚d S )NzOverride in subclass)r   )r   r   r   r   Úversion)   s    zCandidate.versionc             C   s   t dƒ‚d S )NzOverride in subclass)r   )r   r   r   r   Úget_dependencies.   s    zCandidate.get_dependenciesc             C   s   t dƒ‚d S )NzOverride in subclass)r   )r   r   r   r   Úget_install_requirement2   s    z!Candidate.get_install_requirementN)r   r   r   r   r   r!   r"   r#   r   r   r   r   r    #   s   r    N)Úpip._vendor.packaging.utilsr   Úpip._internal.utils.typingr   Útypingr   r   r   Zpip._internal.req.req_installr   Úpip._vendor.packaging.versionr   r   Úobjectr   r    r   r   r   r   Ú<module>   s   