Your IP : 216.73.216.213
N�Xym � @ sE d d l m Z m Z m Z d d l Z d d l Z d d l Z d d l Z d d l m Z m
Z
d d l m Z m
Z
m Z Gd d � d e � Z Gd d � d e
e j e � � Z Gd
d � d e � Z Gd d
� d
e � Z d d � Z Gd d � d e � Z e j d � Z d d � Z d d � Z Gd d � d e � Z d S)� )�absolute_import�division�print_functionN� )�string_types�with_metaclass)�Version�
LegacyVersion�parsec @ s e Z d Z d Z d S)�InvalidSpecifierzH
An invalid specifier was found, users should refer to PEP 440.
N)�__name__�
__module__�__qualname__�__doc__� r r �E/opt/alt/python35/lib/python3.5/site-packages/packaging/specifiers.pyr s r c @ s� e Z d Z e j d d � � Z e j d d � � Z e j d d � � Z e j d d � � Z e j d d
� � Z
e
j d d
� � Z
e j d d
d � � Z e j d d d � � Z
d S)�
BaseSpecifierc C s d S)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 d S)zF
Returns a hash value for this Specifier like object.
Nr )r r r r �__hash__ s zBaseSpecifier.__hash__c C s d S)zq
Returns a boolean representing whether or not the two Specifier like
objects are equal.
Nr )r �otherr r r �__eq__$ s zBaseSpecifier.__eq__c C s d S)zu
Returns a boolean representing whether or not the two Specifier like
objects are not equal.
Nr )r r r r r �__ne__+ s zBaseSpecifier.__ne__c C s d S)zg
Returns whether or not pre-releases as a whole are allowed by this
specifier.
Nr )r r r r �prereleases2 s zBaseSpecifier.prereleasesc C s d S)zd
Sets whether or not pre-releases as a whole are allowed by this
specifier.
Nr )r �valuer r r r 9 s Nc C s d S)zR
Determines if the given item is contained within this specifier.
Nr )r �itemr r r r �contains@ s zBaseSpecifier.containsc C s d S)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 �filterF s zBaseSpecifier.filter)r r
r �abc�abstractmethodr r r r �abstractpropertyr �setterr r r r r r r s r c @ s� e Z d Z i Z d d d d � Z d d � Z d d � Z d d
� Z d d � Z d
d � Z d d � Z
d d � Z e d d � � Z
e d d � � Z e d d � � Z e j d d � � Z d d � Z d d d � Z d d d � Z d S) �_IndividualSpecifier� Nc C sg | j j | � } | s- t d j | � � � | j d � j � | j d � j � f | _ | | _ d S)NzInvalid specifier: '{0}'�operator�version)�_regex�searchr �format�group�strip�_spec�_prereleases)r �specr �matchr r r �__init__R s z_IndividualSpecifier.__init__c C sF | j d k r! d j | j � n d } d j | j j t | � | � S)Nz, prereleases={0!r}r$ z<{0}({1!r}{2})>)r- r) r � __class__r �str)r �prer r r �__repr___ s ! z_IndividualSpecifier.__repr__c C s d j | j � S)Nz{0}{1})r) r, )r r r r r l s z_IndividualSpecifier.__str__c C s
t | j � S)N)�hashr, )r r r r r o s z_IndividualSpecifier.__hash__c C sd t | t � r>