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=[


Reply via email to