File: //usr/lib/python3/dist-packages/packaging/__pycache__/specifiers.cpython-38.pyc
U
��]Rz � @ sL d dl mZmZmZ d dlZd dlZd dlZd dlZddlm Z m
Z
ddlmZ ddl
mZmZmZ er�d dlmZmZmZmZmZmZmZmZmZ eeef Zeeeef Zeeegef ZG dd � d e �Z!G d
d� de
ej"e#��Z$G dd
� d
e$�Z%G dd� de%�Z&dd� Z'G dd� de%�Z(e�)d�Z*dd� Z+dd� Z,G dd� de$�Z-dS )� )�absolute_import�division�print_functionN� )�string_types�with_metaclass)�MYPY_CHECK_RUNNING)�Version�
LegacyVersion�parse) �List�Dict�Union�Iterable�Iterator�Optional�Callable�Tuple� FrozenSetc @ s e Zd ZdZdS )�InvalidSpecifierzH
An invalid specifier was found, users should refer to PEP 440.
N)�__name__�
__module__�__qualname__�__doc__� r r �6/usr/lib/python3/dist-packages/packaging/specifiers.pyr ! s r c @ s� e Zd Zejdd� �Zejdd� �Zejdd� �Zejdd� �Zej d d
� �Z
e
jdd
� �Z
ejdd
d��Zejddd��Z
dS )�
BaseSpecifierc 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__0 s zBaseSpecifier.__hash__c C s dS )zq
Returns a boolean representing whether or not the two Specifier like
objects are equal.
Nr �r �otherr r r �__eq__7 s zBaseSpecifier.__eq__c C s dS )zu
Returns a boolean representing whether or not the two Specifier like
objects are not equal.
Nr r! r r r �__ne__? s zBaseSpecifier.__ne__c C s dS )zg
Returns whether or not pre-releases as a whole are allowed by this
specifier.
Nr r r r r �prereleasesG s zBaseSpecifier.prereleasesc C s dS )zd
Sets whether or not pre-releases as a whole are allowed by this
specifier.
Nr �r �valuer r r r% O s Nc C s dS )zR
Determines if the given item is contained within this specifier.
Nr �r �itemr% r r r �containsW s zBaseSpecifier.containsc C s dS )z�
Takes an iterable of items and filters them so that only items which
are contained within this specifier are allowed in it.
Nr )r �iterabler% r r r �filter^ s zBaseSpecifier.filter)N)N)r r r �abc�abstractmethodr r r# r$ �abstractpropertyr% �setterr* r, r r r r r '