diff options
| author | Donald Stufft <donald@stufft.io> | 2015-08-01 20:13:21 -0400 |
|---|---|---|
| committer | Donald Stufft <donald@stufft.io> | 2015-08-01 20:13:21 -0400 |
| commit | e3886227ec1c8db491f79eaf46500d65b81b7d6d (patch) | |
| tree | a6d84f2ead5062deb5337745e38617b4c90a5b56 /pkg_resources/_vendor/packaging/specifiers.py | |
| parent | d215171466c4c7511044f92337e215ceda26d07f (diff) | |
| download | python-setuptools-git-e3886227ec1c8db491f79eaf46500d65b81b7d6d.tar.gz | |
Upgrade packaging to 15.3
Diffstat (limited to 'pkg_resources/_vendor/packaging/specifiers.py')
| -rw-r--r-- | pkg_resources/_vendor/packaging/specifiers.py | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/pkg_resources/_vendor/packaging/specifiers.py b/pkg_resources/_vendor/packaging/specifiers.py index d5d8a956..891664f0 100644 --- a/pkg_resources/_vendor/packaging/specifiers.py +++ b/pkg_resources/_vendor/packaging/specifiers.py @@ -152,6 +152,14 @@ class _IndividualSpecifier(BaseSpecifier): return version @property + def operator(self): + return self._spec[0] + + @property + def version(self): + return self._spec[1] + + @property def prereleases(self): return self._prereleases @@ -159,6 +167,9 @@ class _IndividualSpecifier(BaseSpecifier): def prereleases(self, value): self._prereleases = value + def __contains__(self, item): + return self.contains(item) + def contains(self, item, prereleases=None): # Determine if prereleases are to be allowed or not. if prereleases is None: @@ -176,7 +187,7 @@ class _IndividualSpecifier(BaseSpecifier): # Actually do the comparison to determine if this item is contained # within this Specifier or not. - return self._get_operator(self._spec[0])(item, self._spec[1]) + return self._get_operator(self.operator)(item, self.version) def filter(self, iterable, prereleases=None): yielded = False @@ -526,7 +537,7 @@ class Specifier(_IndividualSpecifier): # operators, and if they are if they are including an explicit # prerelease. operator, version = self._spec - if operator in ["==", ">=", "<=", "~="]: + if operator in ["==", ">=", "<=", "~=", "==="]: # The == specifier can include a trailing .*, if it does we # want to remove before parsing. if operator == "==" and version.endswith(".*"): @@ -666,6 +677,12 @@ class SpecifierSet(BaseSpecifier): return self._specs != other._specs + def __len__(self): + return len(self._specs) + + def __iter__(self): + return iter(self._specs) + @property def prereleases(self): # If we have been given an explicit prerelease modifier, then we'll @@ -687,6 +704,9 @@ class SpecifierSet(BaseSpecifier): def prereleases(self, value): self._prereleases = value + def __contains__(self, item): + return self.contains(item) + def contains(self, item, prereleases=None): # Ensure that our item is a Version or LegacyVersion instance. if not isinstance(item, (LegacyVersion, Version)): |
