File: //opt/alt/python37/lib/python3.7/site-packages/packaging/__pycache__/specifiers.cpython-37.pyc
B
��fh� � @ sH d Z ddlZddlZddlZddlmZmZmZmZm Z m
Z
mZmZ ddl
mZ ddlmZ eeef Zeded�Zeeegef Zeed �d
d�ZG dd
� d
e�ZG dd� dejd�ZG dd� de�Ze�d�Zeee d �dd�Zee ed�dd�Zeed�dd�Z ee ee e
ee ee f d�dd�Z!G dd � d e�Z"dS )!z�
.. testsetup::
from packaging.specifiers import Specifier, SpecifierSet, InvalidSpecifier
from packaging.version import Version
� N)�Callable�Iterable�Iterator�List�Optional�Tuple�TypeVar�Union� )�canonicalize_version)�Version�UnparsedVersionVar)�bound)�version�returnc C s t | t�st| �} | S )N)�
isinstancer )r � r �E/opt/alt/python37/lib/python3.7/site-packages/packaging/specifiers.py�_coerce_version s
r c @ s e Zd ZdZdS )�InvalidSpecifiera
Raised when attempting to create a :class:`Specifier` with a specifier
string that is invalid.
>>> Specifier("lolwat")
Traceback (most recent call last):
...
packaging.specifiers.InvalidSpecifier: Invalid specifier: 'lolwat'
N)�__name__�
__module__�__qualname__�__doc__r r r r r s r c @ s� e Zd Zejed�dd��Zejed�dd��Zeje e
d�dd��Zeeje
e
d�d d
���Zeje
dd�d
d
��Zejdee
e
e
d�dd��Zejdee e
e
ee d�dd��ZdS )�
BaseSpecifier)r c C s dS )z�
Returns the str representation of this Specifier-like object. This
should be representative of the Specifier itself.
Nr )�selfr r r �__str__+ s zBaseSpecifier.__str__c C s dS )zF
Returns a hash value for this Specifier-like object.
Nr )r r r r �__hash__2 s zBaseSpecifier.__hash__)�otherr c C s dS )z�
Returns a boolean representing whether or not the two Specifier-like
objects are equal.
:param other: The other object to check against.
Nr )r r r r r �__eq__8 s zBaseSpecifier.__eq__c C s dS )z�Whether or not pre-releases as a whole are allowed.
This can be set to either ``True`` or ``False`` to explicitly enable or disable
prereleases or it can be set to ``None`` (the default) to use default semantics.
Nr )r r r r �prereleasesA s zBaseSpecifier.prereleasesN)�valuer c C s dS )zQSetter for :attr:`prereleases`.
:param value: The value to set.
Nr )r r! r r r r J s )�itemr r c C s dS )zR
Determines if the given item is contained within this specifier.
Nr )r r"