diff options
Diffstat (limited to 'pkg_resources/_vendor/packaging')
| -rw-r--r-- | pkg_resources/_vendor/packaging/__about__.py | 2 | ||||
| -rw-r--r-- | pkg_resources/_vendor/packaging/specifiers.py | 24 | ||||
| -rw-r--r-- | pkg_resources/_vendor/packaging/version.py | 2 |
3 files changed, 25 insertions, 3 deletions
diff --git a/pkg_resources/_vendor/packaging/__about__.py b/pkg_resources/_vendor/packaging/__about__.py index d5243995..eadb794e 100644 --- a/pkg_resources/_vendor/packaging/__about__.py +++ b/pkg_resources/_vendor/packaging/__about__.py @@ -22,7 +22,7 @@ __title__ = "packaging" __summary__ = "Core utilities for Python packages" __uri__ = "https://github.com/pypa/packaging" -__version__ = "15.1" +__version__ = "15.3" __author__ = "Donald Stufft" __email__ = "donald@stufft.io" 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)): diff --git a/pkg_resources/_vendor/packaging/version.py b/pkg_resources/_vendor/packaging/version.py index cf8afb16..4ba574b9 100644 --- a/pkg_resources/_vendor/packaging/version.py +++ b/pkg_resources/_vendor/packaging/version.py @@ -324,6 +324,8 @@ def _parse_letter_version(letter, number): letter = "b" elif letter in ["c", "pre", "preview"]: letter = "rc" + elif letter in ["rev", "r"]: + letter = "post" return letter, int(number) if not letter and number: |
