dev-python/semver: drop old

Package-Manager: Portage-2.3.101, Repoman-2.3.22
Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
This commit is contained in:
Georgy Yakovlev
2020-06-16 22:57:39 -07:00
parent 8bc23a29b6
commit cce0ecc193
4 changed files with 0 additions and 207 deletions

View File

@@ -1,3 +1 @@
DIST semver-2.10.1.tar.gz 39327 BLAKE2B 867edb0690b07ac460a3c43465047479a4dd84ceadf0eaebaad3c9975994efbf97d51d94c5de2ba6b758b5785649a20acbc2b24a31ab8114b611ac9a24f915c2 SHA512 6abd02f109836c956967ef60c882269818402b771d25a5f243628b6b651bcf9246bbf5b09fac746e65d8c54ffc7b42f21be6cb6dd20487b987a5976995bae51c
DIST semver-2.10.2.tar.gz 40449 BLAKE2B 47601c60591218a1c3ec8212520ddaed2ae9a9c6eca6cd1e9509f0ca713d4149de1c3d786a553f277f4b0be3af30c6484b8e9669cae98a6de250f74d354849b5 SHA512 64f115351d896fbab5145fe4b1438f69c713c8e864701e90a5c81f25154fd6828df14856499f17adf008b25becc474ad87e2c10db3937efbcb64bb62a58d6c75
DIST semver-2.9.1.tar.gz 32437 BLAKE2B f87f6ad001b2e3752c59282714d0dfc258aa8a727517b5b7caeeb9ff2ebc2fb5fce308a96e7728e2f79cbd502bcde5cddc3422563b1c0eb588e41acaba1178c6 SHA512 3de661921d51b19fd4922605677790b7e83ab1e34ef76cd9d6d2147753c122686a801b4ddb0fec1b85018e7c60859885cc27f43bc5e337de1b69b9304b398175

View File

@@ -1,147 +0,0 @@
From f332326e54a5582092b50c8fa113d11bbdf1a9e6 Mon Sep 17 00:00:00 2001
From: Thomas Laferriere <t.laferriere@hotmail.ca>
Date: Wed, 10 Jun 2020 01:44:11 -0400
Subject: [PATCH] Fix #260 __getitem__ returning `None` on falsy parts
* Fix #260 and add tests for these special cases
* Fix IndexError not being thrown every time it should
* Update CHANGELOG.rst
Co-authored-by: Tom Schraitle <tomschr@users.noreply.github.com>
---
CHANGELOG.rst | 28 ++++++++++++++++++++++++++++
semver.py | 9 ++++-----
test_semver.py | 35 ++++++++++++++++++++++++++++-------
3 files changed, 60 insertions(+), 12 deletions(-)
diff --git a/CHANGELOG.rst b/CHANGELOG.rst
index c28880e..2671ef2 100644
--- a/CHANGELOG.rst
+++ b/CHANGELOG.rst
@@ -7,6 +7,34 @@ All notable changes to this code base will be documented in this file,
in every released version.
+Version 2.10.2 (WIP)
+====================
+
+:Released: 2020-xx-yy
+:Maintainer:
+
+Features
+--------
+
+n/a
+
+Bug Fixes
+---------
+
+:gh:`260` (:pr:`261`): Fixed ``__getitem__`` returning None on wrong parts
+
+
+Additions
+---------
+
+n/a
+
+Removals
+--------
+
+n/a
+
+
Version 2.10.1
==============
diff --git a/semver.py b/semver.py
index 00338e8..0c98af9 100644
--- a/semver.py
+++ b/semver.py
@@ -548,17 +548,16 @@ def __getitem__(self, index):
if (
isinstance(index, slice)
- and (index.start is None or index.start < 0)
- and (index.stop is None or index.stop < 0)
+ and (index.start is not None and index.start < 0)
+ or (index.stop is not None and index.stop < 0)
):
raise IndexError("Version index cannot be negative")
- # Could raise IndexError:
- part = tuple(filter(None, self.to_tuple()[index]))
+ part = tuple(filter(lambda p: p is not None, self.to_tuple()[index]))
if len(part) == 1:
part = part[0]
- if not part:
+ elif not part:
raise IndexError("Version part undefined")
return part
diff --git a/test_semver.py b/test_semver.py
index 8ecc81f..1fd87ee 100644
--- a/test_semver.py
+++ b/test_semver.py
@@ -774,6 +774,8 @@ def test_should_be_able_to_use_integers_as_prerelease_build():
("1.2.3", 0, 1),
("1.2.3", 1, 2),
("1.2.3", 2, 3),
+ # Special cases
+ ("1.0.2", 1, 0),
],
)
def test_version_info_should_be_accessed_with_index(version, index, expected):
@@ -801,6 +803,7 @@ def test_version_info_should_be_accessed_with_index(version, index, expected):
("1.2.3-rc.0+build.0", slice(0, 5, 2), (1, 3, "build.0")),
("1.2.3-rc.0+build.0", slice(None, 5, 2), (1, 3, "build.0")),
("1.2.3-rc.0+build.0", slice(5, 0, -2), ("build.0", 3)),
+ ("1.2.0-rc.0+build.0", slice(3), (1, 2, 0)),
],
)
def test_version_info_should_be_accessed_with_slice_object(
@@ -813,19 +816,37 @@ def test_version_info_should_be_accessed_with_slice_object(
@pytest.mark.parametrize(
"version, index",
[
- ("1.2.3-rc.0+build.0", -1),
- ("1.2.3-rc.0", -1),
- ("1.2.3-rc.0", 4),
- ("1.2.3", -1),
("1.2.3", 3),
+ ("1.2.3", slice(3, 4)),
("1.2.3", 4),
- ("1.2.3", 10),
- ("1.2.3", slice(-3)),
+ ("1.2.3", slice(4, 5)),
+ ("1.2.3", 5),
+ ("1.2.3", slice(5, 6)),
+ ("1.2.3-rc.0", 5),
+ ("1.2.3-rc.0", slice(5, 6)),
+ ("1.2.3-rc.0", 6),
+ ("1.2.3-rc.0", slice(6, 7)),
],
)
def test_version_info_should_throw_index_error(version, index):
version_info = VersionInfo.parse(version)
- with pytest.raises(IndexError):
+ with pytest.raises(IndexError, match=r"Version part undefined"):
+ version_info[index]
+
+
+@pytest.mark.parametrize(
+ "version, index",
+ [
+ ("1.2.3", -1),
+ ("1.2.3", -2),
+ ("1.2.3", slice(-2, 2)),
+ ("1.2.3", slice(2, -2)),
+ ("1.2.3", slice(-2, -2)),
+ ],
+)
+def test_version_info_should_throw_index_error_when_negative_index(version, index):
+ version_info = VersionInfo.parse(version)
+ with pytest.raises(IndexError, match=r"Version index cannot be negative"):
version_info[index]

View File

@@ -1,30 +0,0 @@
# Copyright 2019-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{6,7,8} )
DISTUTILS_USE_SETUPTOOLS=rdepend
inherit distutils-r1
DESCRIPTION="A Python module for semantic versioning"
HOMEPAGE="https://github.com/python-semver/python-semver"
SRC_URI="https://github.com/python-${PN}/python-${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~ppc64 ~x86"
IUSE="test"
S="${WORKDIR}/python-${P}"
PATCHES=( "${FILESDIR}/${PV}-getitem.patch" )
distutils_enable_tests pytest
python_prepare_all() {
# contains pytest/cov args we don't want
rm setup.cfg || die
distutils-r1_python_prepare_all
}

View File

@@ -1,28 +0,0 @@
# Copyright 2019-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{6,7} )
DISTUTILS_USE_SETUPTOOLS=rdepend
inherit distutils-r1
DESCRIPTION="A Python module for semantic versioning"
HOMEPAGE="https://github.com/k-bx/python-semver"
SRC_URI="https://github.com/k-bx/python-${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~ppc64 ~x86"
IUSE="test"
S="${WORKDIR}/python-${P}"
distutils_enable_tests pytest
python_prepare_all() {
# contains pytest/cov args we don't want
rm setup.cfg || die
distutils-r1_python_prepare_all
}