Hello community,
here is the log from the commit of package python-node-semver for
openSUSE:Leap:15.2 checked in at 2020-04-02 16:48:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Leap:15.2/python-node-semver (Old)
and /work/SRC/openSUSE:Leap:15.2/.python-node-semver.new.3248 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-node-semver"
Thu Apr 2 16:48:26 2020 rev:16 rq:790152 version:0.8.0
Changes:
--------
--- /work/SRC/openSUSE:Leap:15.2/python-node-semver/python-node-semver.changes
2020-03-09 18:09:19.613021246 +0100
+++
/work/SRC/openSUSE:Leap:15.2/.python-node-semver.new.3248/python-node-semver.changes
2020-04-02 16:48:27.549953103 +0200
@@ -1,0 +2,6 @@
+Mon Mar 30 10:49:12 UTC 2020 - [email protected]
+
+- version update to 0.8.0
+ * handle 4-digit version correctly (#35)
+
+-------------------------------------------------------------------
Old:
----
python-node-semver-0.7.0.tar.gz
New:
----
python-node-semver-0.8.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-node-semver.spec ++++++
--- /var/tmp/diff_new_pack.CK8KUm/_old 2020-04-02 16:48:28.041955040 +0200
+++ /var/tmp/diff_new_pack.CK8KUm/_new 2020-04-02 16:48:28.045955055 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-node-semver
#
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2020 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -19,7 +19,7 @@
%define skip_python2 1
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-node-semver
-Version: 0.7.0
+Version: 0.8.0
Release: 0
Summary: Port of node-semver
License: MIT
@@ -50,7 +50,7 @@
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%check
-%python_exec setup.py test
+%pytest
%files %{python_files}
%license LICENSE
++++++ python-node-semver-0.7.0.tar.gz -> python-node-semver-0.8.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-semver-0.7.0/CHANGES.txt
new/python-semver-0.8.0/CHANGES.txt
--- old/python-semver-0.7.0/CHANGES.txt 2019-08-12 14:02:25.000000000 +0200
+++ new/python-semver-0.8.0/CHANGES.txt 2019-11-30 05:54:06.000000000 +0100
@@ -1,6 +1,10 @@
+0.8.0
+
+- handle 4-digit version correctly (#35)
+
0.7.0
-Include tests in source distributions (#31)
+- include tests in source distributions (#31)
0.6.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-semver-0.7.0/Makefile
new/python-semver-0.8.0/Makefile
--- old/python-semver-0.7.0/Makefile 2019-08-12 14:02:25.000000000 +0200
+++ new/python-semver-0.8.0/Makefile 2019-11-30 05:54:06.000000000 +0100
@@ -1,9 +1,13 @@
-DST=README.rst
-default:
- echo semver > ${DST}
- echo ================= >> ${DST}
- echo "" >> ${DST}
- echo "python version of
[node-semver](https://github.com/isaacs/node-semver)" >> ${DST}
- echo "" >> ${DST}
- echo ".. code:: python\n" >> ${DST}
- cat ./demo.py | gsed 's/^\(.\)/ \1/g' >> ${DST}
+test:
+ python setup.py test
+
+# DST=README.rst
+# SED=$(shell which gsed 2>/dev/null || which sed)
+# default:
+# echo semver > ${DST}
+# echo ================= >> ${DST}
+# echo "" >> ${DST}
+# echo "python version of
[node-semver](https://github.com/isaacs/node-semver)" >> ${DST}
+# echo "" >> ${DST}
+# echo ".. code:: python\n" >> ${DST}
+# cat ./examples/readme.py | $(SED) 's/^\(.\)/ \1/g' >> ${DST}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-semver-0.7.0/README.rst
new/python-semver-0.8.0/README.rst
--- old/python-semver-0.7.0/README.rst 2019-08-12 14:02:25.000000000 +0200
+++ new/python-semver-0.8.0/README.rst 2019-11-30 05:54:06.000000000 +0100
@@ -18,7 +18,6 @@
.. code-block:: python
- # -*- coding:utf-8 -*-
from semver import max_satisfying
versions = ['1.2.3', '1.2.4', '1.2.5', '1.2.6', '2.0.1']
@@ -38,4 +37,4 @@
versions = ['1.2.3', '1.2.4', '1.2.5', '1.2.6-pre.1', '2.0.1']
range_ = '~1.2.3'
assert max_satisfying(versions, range_, loose=False,
include_prerelease=True) == '1.2.6-pre.1'
- assert max_satisfying(versions, range_, loose=False,
include_prerelease=False) == '1.2.5'
\ No newline at end of file
+ assert max_satisfying(versions, range_, loose=False,
include_prerelease=False) == '1.2.5'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-semver-0.7.0/semver/__init__.py
new/python-semver-0.8.0/semver/__init__.py
--- old/python-semver-0.7.0/semver/__init__.py 2019-08-12 14:02:25.000000000
+0200
+++ new/python-semver-0.8.0/semver/__init__.py 2019-11-30 05:54:06.000000000
+0100
@@ -1,6 +1,7 @@
# -*- coding:utf-8 -*-
import logging
import re
+from functools import cmp_to_key
logger = logging.getLogger(__name__)
@@ -391,7 +392,7 @@
logger.debug('SemVer.compare %s %s %s', self.version, self.loose,
other)
if not isinstance(other, SemVer):
other = make_semver(other, self.loose)
- result = self.compare_main(other) or self.compare_pre(other)
+ result = self.compare_main(other) or self.compare_pre(other) or
self.compare_micro(other)
logger.debug("compare result %s", result)
return result
@@ -435,6 +436,11 @@
else:
return compare_identifiers(str(a), str(b))
+ def compare_micro(self, other):
+ if self.micro_versions == other.micro_versions:
+ return 0
+ return -1 if self.micro_versions < other.micro_versions else 1
+
def inc(self, release, identifier=None):
logger.debug("inc release %s %s", self.prerelease, release)
if release == 'premajor':
@@ -1099,6 +1105,24 @@
return max_
+def min_satisfying(versions, range_, loose=False, include_prerelease=False):
+ try:
+ range_ob = make_range(range_, loose=loose)
+ except InvalidTypeIncluded:
+ raise
+ except ValueError as e:
+ logger.info(e, exc_info=2)
+ return None
+ min_ = None
+ min_sv = None
+ for v in versions:
+ if range_ob.test(v, include_prerelease=include_prerelease): #
satisfies(v, range_, loose=loose)
+ if min_ is None or min_sv.compare(v) == 1: # compare(min, v, true)
+ min_ = v
+ min_sv = make_semver(min_, loose=loose)
+ return min_
+
+
def valid_range(range_, loose):
try:
# Return '*' instead of '' so that truthiness works.
@@ -1171,3 +1195,9 @@
elif low.operator == ecomp and ltfn(version, low.semver):
return False
return True
+
+
+# helpers
+def _sorted(versions, loose=False, key=None):
+ key = key or cmp_to_key(lambda x, y: x.compare(y))
+ return sorted([make_semver(v, loose=loose) for v in versions], key=key)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-semver-0.7.0/semver/tests/test_for_4digit.py
new/python-semver-0.8.0/semver/tests/test_for_4digit.py
--- old/python-semver-0.7.0/semver/tests/test_for_4digit.py 2019-08-12
14:02:25.000000000 +0200
+++ new/python-semver-0.8.0/semver/tests/test_for_4digit.py 2019-11-30
05:54:06.000000000 +0100
@@ -107,3 +107,21 @@
assert got.prerelease == expected["prerelease"]
assert got.build == expected["build"]
assert got.micro_versions == expected["micro_versions"]
+
+
+def test_sorted():
+ from semver import _sorted
+
+ v1 = "1.1"
+ v2 = "1.1.1"
+ v3 = "1.1.1-pre1"
+ v4 = "1.1.1.1"
+ v5 = "1.1.1.2"
+
+ versions = [v1, v2, v3, v4, v5]
+ rversions = list(reversed(versions))
+
+ got = [v.raw for v in _sorted(versions, loose=True)]
+ rgot = [v.raw for v in _sorted(rversions, loose=True)]
+ assert got == rgot
+ assert got == ['1.1', '1.1.1-pre1', '1.1.1', '1.1.1.1', '1.1.1.2']
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-semver-0.7.0/semver/tests/test_min_satisfying.py
new/python-semver-0.8.0/semver/tests/test_min_satisfying.py
--- old/python-semver-0.7.0/semver/tests/test_min_satisfying.py 2019-08-12
14:02:25.000000000 +0200
+++ new/python-semver-0.8.0/semver/tests/test_min_satisfying.py 2019-11-30
05:54:06.000000000 +0100
@@ -10,8 +10,8 @@
]
[email protected](reason="not implemented yet")
-# @pytest.mark.parametrize("versions, range_, expect, loose", cands)
+
[email protected]("versions, range_, expect, loose", cands)
def test_it(versions, range_, expect, loose):
from semver import min_satisfying
assert min_satisfying(versions, range_, loose) == expect
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-semver-0.7.0/setup.py
new/python-semver-0.8.0/setup.py
--- old/python-semver-0.7.0/setup.py 2019-08-12 14:02:25.000000000 +0200
+++ new/python-semver-0.8.0/setup.py 2019-11-30 05:54:06.000000000 +0100
@@ -38,7 +38,7 @@
setup(
name="node-semver",
- version="0.7.0",
+ version="0.8.0",
description="port of node-semver",
long_description=README + "\n\n" + CHANGES,
classifiers=[