diff options
author | Jason R. Coombs <jaraco@jaraco.com> | 2015-04-15 08:58:22 -0400 |
---|---|---|
committer | Jason R. Coombs <jaraco@jaraco.com> | 2015-04-15 08:58:22 -0400 |
commit | d8fda18abfeff18dd1b1588fbca707d1b2b14214 (patch) | |
tree | 1c995f4b1bd349470fc590b6db75536041bc8ae2 | |
parent | df9500ac5da25ece5f1f792e7834cc714cc71b70 (diff) | |
download | external_python_setuptools-d8fda18abfeff18dd1b1588fbca707d1b2b14214.tar.gz external_python_setuptools-d8fda18abfeff18dd1b1588fbca707d1b2b14214.tar.bz2 external_python_setuptools-d8fda18abfeff18dd1b1588fbca707d1b2b14214.zip |
Bump packaging version to 15.1
-rw-r--r-- | CHANGES.txt | 6 | ||||
-rw-r--r-- | docs/conf.py | 4 | ||||
-rw-r--r-- | pkg_resources/_vendor/packaging/__about__.py | 2 | ||||
-rw-r--r-- | pkg_resources/_vendor/packaging/specifiers.py | 48 | ||||
-rw-r--r-- | pkg_resources/_vendor/vendored.txt | 2 |
5 files changed, 32 insertions, 30 deletions
diff --git a/CHANGES.txt b/CHANGES.txt index 9670846f..012d8593 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -3,6 +3,12 @@ CHANGES ======= ---- +15.1 +---- + +* Updated Packaging to 15.1 to address Packaging #28. + +---- 15.0 ---- diff --git a/docs/conf.py b/docs/conf.py index 24830987..ba3a35bc 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -242,6 +242,10 @@ link_files = { pattern=r"Pip #(?P<pip>\d+)", url='{GH}/pypa/pip/issues/{pip}', ), + dict( + pattern=r"Packaging #(?P<packaging>\d+)", + url='{GH}/pypa/packaging/issues/{packaging}', + ), ], ), } diff --git a/pkg_resources/_vendor/packaging/__about__.py b/pkg_resources/_vendor/packaging/__about__.py index 36f1a35c..d5243995 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.0" +__version__ = "15.1" __author__ = "Donald Stufft" __email__ = "donald@stufft.io" diff --git a/pkg_resources/_vendor/packaging/specifiers.py b/pkg_resources/_vendor/packaging/specifiers.py index 77516cf4..d5d8a956 100644 --- a/pkg_resources/_vendor/packaging/specifiers.py +++ b/pkg_resources/_vendor/packaging/specifiers.py @@ -502,7 +502,7 @@ class Specifier(_IndividualSpecifier): return False # Ensure that we do not allow a local version of the version mentioned - # in the specifier, which is technically greater than, to match. + # in the specifier, which is techincally greater than, to match. if prospective.local is not None: if Version(prospective.base_version) == Version(spec.base_version): return False @@ -673,10 +673,14 @@ class SpecifierSet(BaseSpecifier): if self._prereleases is not None: return self._prereleases + # If we don't have any specifiers, and we don't have a forced value, + # then we'll just return None since we don't know if this should have + # pre-releases or not. + if not self._specs: + return None + # Otherwise we'll see if any of the given specifiers accept # prereleases, if any of them do we'll return True, otherwise False. - # Note: The use of any() here means that an empty set of specifiers - # will always return False, this is an explicit design decision. return any(s.prereleases for s in self._specs) @prereleases.setter @@ -688,27 +692,21 @@ class SpecifierSet(BaseSpecifier): if not isinstance(item, (LegacyVersion, Version)): item = parse(item) + # Determine if we're forcing a prerelease or not, if we're not forcing + # one for this particular filter call, then we'll use whatever the + # SpecifierSet thinks for whether or not we should support prereleases. + if prereleases is None: + prereleases = self.prereleases + # We can determine if we're going to allow pre-releases by looking to # see if any of the underlying items supports them. If none of them do # and this item is a pre-release then we do not allow it and we can # short circuit that here. # Note: This means that 1.0.dev1 would not be contained in something # like >=1.0.devabc however it would be in >=1.0.debabc,>0.0.dev0 - if (not (self.prereleases or prereleases)) and item.is_prerelease: + if not prereleases and item.is_prerelease: return False - # Determine if we're forcing a prerelease or not, we bypass - # self.prereleases here and use self._prereleases because we want to - # only take into consideration actual *forced* values. The underlying - # specifiers will handle the other logic. - # The logic here is: If prereleases is anything but None, we'll just - # go aheand and continue to use that. However if - # prereleases is None, then we'll use whatever the - # value of self._prereleases is as long as it is not - # None itself. - if prereleases is None and self._prereleases is not None: - prereleases = self._prereleases - # We simply dispatch to the underlying specs here to make sure that the # given version is contained within all of them. # Note: This use of all() here means that an empty set of specifiers @@ -719,24 +717,18 @@ class SpecifierSet(BaseSpecifier): ) def filter(self, iterable, prereleases=None): - # Determine if we're forcing a prerelease or not, we bypass - # self.prereleases here and use self._prereleases because we want to - # only take into consideration actual *forced* values. The underlying - # specifiers will handle the other logic. - # The logic here is: If prereleases is anything but None, we'll just - # go aheand and continue to use that. However if - # prereleases is None, then we'll use whatever the - # value of self._prereleases is as long as it is not - # None itself. - if prereleases is None and self._prereleases is not None: - prereleases = self._prereleases + # Determine if we're forcing a prerelease or not, if we're not forcing + # one for this particular filter call, then we'll use whatever the + # SpecifierSet thinks for whether or not we should support prereleases. + if prereleases is None: + prereleases = self.prereleases # If we have any specifiers, then we want to wrap our iterable in the # filter method for each one, this will act as a logical AND amongst # each specifier. if self._specs: for spec in self._specs: - iterable = spec.filter(iterable, prereleases=prereleases) + iterable = spec.filter(iterable, prereleases=bool(prereleases)) return iterable # If we do not have any specifiers, then we need to have a rough filter # which will filter out any pre-releases, unless there are no final diff --git a/pkg_resources/_vendor/vendored.txt b/pkg_resources/_vendor/vendored.txt index 75a31670..28da4226 100644 --- a/pkg_resources/_vendor/vendored.txt +++ b/pkg_resources/_vendor/vendored.txt @@ -1 +1 @@ -packaging==15.0 +packaging==15.1 |