summaryrefslogtreecommitdiff
path: root/pkg_resources/_vendor/packaging/specifiers.py
diff options
context:
space:
mode:
authorSteve Kowalik <steven@wedontsleep.org>2016-02-08 17:00:03 +1100
committerSteve Kowalik <steven@wedontsleep.org>2016-02-08 17:00:03 +1100
commitcf9402a0d8b83b15353801b9a16e1330426a049c (patch)
treea6e18e1d1e991bd89ee30b6e51dacb76fa756778 /pkg_resources/_vendor/packaging/specifiers.py
parentba5633b3c7b9317b87130a2ea671d8c008a673d6 (diff)
downloadpython-setuptools-git-cf9402a0d8b83b15353801b9a16e1330426a049c.tar.gz
Update to packaging 16.1
Diffstat (limited to 'pkg_resources/_vendor/packaging/specifiers.py')
-rw-r--r--pkg_resources/_vendor/packaging/specifiers.py18
1 files changed, 10 insertions, 8 deletions
diff --git a/pkg_resources/_vendor/packaging/specifiers.py b/pkg_resources/_vendor/packaging/specifiers.py
index cef90084..31845c61 100644
--- a/pkg_resources/_vendor/packaging/specifiers.py
+++ b/pkg_resources/_vendor/packaging/specifiers.py
@@ -194,8 +194,8 @@ class _IndividualSpecifier(BaseSpecifier):
# If our version is a prerelease, and we were not set to allow
# prereleases, then we'll store it for later incase nothing
# else matches this specifier.
- if (parsed_version.is_prerelease
- and not (prereleases or self.prereleases)):
+ if (parsed_version.is_prerelease and not
+ (prereleases or self.prereleases)):
found_prereleases.append(version)
# Either this is not a prerelease, or we should have been
# accepting prereleases from the begining.
@@ -395,8 +395,8 @@ class Specifier(_IndividualSpecifier):
prefix = ".".join(
list(
itertools.takewhile(
- lambda x: (not x.startswith("post")
- and not x.startswith("dev")),
+ lambda x: (not x.startswith("post") and not
+ x.startswith("dev")),
_version_split(spec),
)
)[:-1]
@@ -405,13 +405,15 @@ class Specifier(_IndividualSpecifier):
# Add the prefix notation to the end of our string
prefix += ".*"
- return (self._get_operator(">=")(prospective, spec)
- and self._get_operator("==")(prospective, prefix))
+ return (self._get_operator(">=")(prospective, spec) and
+ self._get_operator("==")(prospective, prefix))
@_require_version_compare
def _compare_equal(self, prospective, spec):
# We need special logic to handle prefix matching
if spec.endswith(".*"):
+ # In the case of prefix matching we want to ignore local segment.
+ prospective = Version(prospective.public)
# Split the spec out by dots, and pretend that there is an implicit
# dot in between a release segment and a pre-release segment.
spec = _version_split(spec[:-2]) # Remove the trailing .*
@@ -563,8 +565,8 @@ def _pad_version(left, right):
right_split.append(list(itertools.takewhile(lambda x: x.isdigit(), right)))
# Get the rest of our versions
- left_split.append(left[len(left_split):])
- right_split.append(left[len(right_split):])
+ left_split.append(left[len(left_split[0]):])
+ right_split.append(right[len(right_split[0]):])
# Insert our padding
left_split.insert(