File: //opt/saltstack/salt/lib/python3.10/site-packages/packaging/__pycache__/specifiers.cpython-310.pyc
o
�N�g� � @ s2 d Z ddlZddlZddlZddlmZmZmZmZm Z m
Z
mZmZ ddl
mZ ddlmZ eeef Zeeegef Zdedefd d
�ZG dd� de�ZG d
d� dejd�ZG dd� de�Ze�d�Zdedee fdd�Zdedefdd�Zdee dee deee ee f fdd�ZG dd� de�Z dS )z�
.. testsetup::
from packaging.specifiers import Specifier, SpecifierSet, InvalidSpecifier
from packaging.version import Version
� N)�Callable�Iterable�Iterator�List�Optional�Set�Tuple�Union� )�canonicalize_version)�Version�version�returnc C s t | t�s t| �} | S �N)�
isinstancer )r
� r �H/opt/saltstack/salt/lib/python3.10/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 Zejdefdd��Zejdefdd��Zejde de
fdd��Zeejde
e
fd d
���Zejde
ddfd
d
��Zejddede
e
de
fdd��Zej ddee de
e
dee fdd��ZdS )�
BaseSpecifierr c C � dS )z�
Returns the str representation of this Specifier-like object. This
should be representative of the Specifier itself.
Nr ��selfr r r �__str__* � zBaseSpecifier.__str__c C r )zF
Returns a hash value for this Specifier-like object.
Nr r r r r �__hash__1 r zBaseSpecifier.__hash__�otherc C r )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__7 r zBaseSpecifier.__eq__c C r )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 �prereleases@ r zBaseSpecifier.prereleases�valueNc C r )zQSetter for :attr:`prereleases`.
:param value: The value to set.
Nr �r r$ r r r r# I r �itemr# c C r )zR
Determines if the given item is contained within this specifier.
Nr )r r&