Hello community,

here is the log from the commit of package python-node-semver for 
openSUSE:Factory checked in at 2019-01-11 14:05:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-node-semver (Old)
 and      /work/SRC/openSUSE:Factory/.python-node-semver.new.28833 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-node-semver"

Fri Jan 11 14:05:34 2019 rev:4 rq:664383 version:0.6.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-node-semver/python-node-semver.changes    
2018-10-12 13:11:00.435273033 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-node-semver.new.28833/python-node-semver.changes
 2019-01-11 14:06:36.955732018 +0100
@@ -1,0 +2,10 @@
+Thu Jan 10 13:48:13 UTC 2019 - Martin Pluskal <[email protected]>
+
+- Update to version 0.6.0:
+  * more strict error handling (InvalidTypeIncluded is added)
+- Changes for version 0.5.1:
+  * bug fix
+- Changes for version 0.5.0:
+  * include_prerelease option is added
+
+-------------------------------------------------------------------

Old:
----
  python-node-semver-0.4.2.tar.gz

New:
----
  python-node-semver-0.6.1.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-node-semver.spec ++++++
--- /var/tmp/diff_new_pack.yz3fyc/_old  2019-01-11 14:06:37.407731563 +0100
+++ /var/tmp/diff_new_pack.yz3fyc/_new  2019-01-11 14:06:37.415731556 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package python-node-semver
 #
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # 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.4.2
+Version:        0.6.1
 Release:        0
 Summary:        Port of node-semver
 License:        MIT

++++++ python-node-semver-0.4.2.tar.gz -> python-node-semver-0.6.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-semver-0.4.2/CHANGES.txt 
new/python-semver-0.6.1/CHANGES.txt
--- old/python-semver-0.4.2/CHANGES.txt 2018-09-28 20:10:19.000000000 +0200
+++ new/python-semver-0.6.1/CHANGES.txt 2018-11-24 12:55:18.000000000 +0100
@@ -1,3 +1,15 @@
+0.6.0
+
+- more strict error handling (InvalidTypeIncluded is added)
+
+0.5.1
+
+- bug fix
+
+0.5.0
+
+- include_prerelease option is added
+
 0.4.2
 
 - fix bug for support 4-digit (handling prelease and build)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-semver-0.4.2/README.rst 
new/python-semver-0.6.1/README.rst
--- old/python-semver-0.4.2/README.rst  2018-09-28 20:10:19.000000000 +0200
+++ new/python-semver-0.6.1/README.rst  2018-11-24 12:55:18.000000000 +0100
@@ -34,3 +34,8 @@
        (max_satisfying(versions, range_, loose=False) == '2.0.0')
    except ValueError as e:
        assert e.args[0] == "Invalid Version: 2.0.0b1"
+
+   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
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-semver-0.4.2/examples/readme.py 
new/python-semver-0.6.1/examples/readme.py
--- old/python-semver-0.4.2/examples/readme.py  2018-09-28 20:10:19.000000000 
+0200
+++ new/python-semver-0.6.1/examples/readme.py  2018-11-24 12:55:18.000000000 
+0100
@@ -1,4 +1,11 @@
 # -*- coding:utf-8 -*-
+from semver import satisfies
+
+assert satisfies("1.2.3-dev.1+abc", ">1.1.0 <2.0.0", include_prerelease=True)
+assert not satisfies("1.2.3-dev.1+abc", ">1.1.0 <2.0.0", 
include_prerelease=False)
+assert satisfies("1.2.3", ">1.1 <2.0")
+
+
 from semver import max_satisfying
 
 versions = ['1.2.3', '1.2.4', '1.2.5', '1.2.6', '2.0.1']
@@ -14,3 +21,9 @@
     (max_satisfying(versions, range_, loose=False) == '2.0.0')
 except ValueError as e:
     assert e.args[0] == "Invalid Version: 2.0.0b1"
+
+
+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'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-semver-0.4.2/semver/__init__.py 
new/python-semver-0.6.1/semver/__init__.py
--- old/python-semver-0.4.2/semver/__init__.py  2018-09-28 20:10:19.000000000 
+0200
+++ new/python-semver-0.6.1/semver/__init__.py  2018-11-24 12:55:18.000000000 
+0100
@@ -1,12 +1,16 @@
 # -*- coding:utf-8 -*-
 import logging
 import re
-logger = logging.getLogger(__name__)
 
 
+logger = logging.getLogger(__name__)
 SEMVER_SPEC_VERSION = '2.0.0'
 
 
+class InvalidTypeIncluded(ValueError):
+    pass
+
+
 class _R(object):
     def __init__(self, i):
         self.i = i
@@ -288,7 +292,7 @@
         else:
             version = version.version
     elif not isinstance(version, str):  # xxx:
-        raise ValueError("Invalid Version: {}".format(version))
+        raise InvalidTypeIncluded("must be str, but {!r}".format(version))
 
     """
     if (!(this instanceof SemVer))
@@ -301,6 +305,8 @@
 
 
 class SemVer(object):
+    # major, minor, patch, prerelease, build, micro_version
+
     def __init__(self, version, loose):
         logger.debug("SemVer %s, %s", version, loose)
         self.loose = loose
@@ -312,7 +318,11 @@
         if not m:
             if not loose:
                 raise ValueError("Invalid Version: {}".format(version))
-            m = regexp[RECOVERYVERSIONNAME].search(version.strip())
+            if not hasattr(version, "strip"):
+                raise ValueError("Invalid Version: {}".format(version))
+            m = regexp[RECOVERYVERSIONNAME].match(version.strip())
+            if m is None:
+                raise ValueError("Invalid Version: {}".format(version))
             self.major = int(m.group(1)) if m.group(1) else 0
             self.minor = int(m.group(2)) if m.group(2) else 0
             self.patch = 0
@@ -332,10 +342,13 @@
                         other = self.build
                         ks = id.split("+")
                     else:
+                        other = None
                         ks = [id]
                     for k in ks:
                         if NUMERIC.search(k):
                             self.micro_versions.append(int(k))
+                        elif other is None:
+                            raise ValueError("Invalid Version: 
{}".format(version))
                         else:
                             other.append(k)
                 self.prerelease = prerelease
@@ -509,8 +522,8 @@
 def inc(version, release, loose, identifier=None):  # wow!
     try:
         return make_semver(version, loose).inc(release, 
identifier=identifier).version
-    except Exception as e:
-        logger.debug(e, exc_info=5)
+    except ValueError as e:
+        logger.info(e, exc_info=2)
         return None
 
 
@@ -717,6 +730,8 @@
 def make_range(range_, loose):
     if isinstance(range_, Range) and range_.loose == loose:
         return range_
+    elif not isinstance(range_, str):  # xxx:
+        raise InvalidTypeIncluded("must be str, but {!r}".format(range_))
 
     # if (!(this instanceof Range))
     #    return new Range(range, loose);
@@ -724,11 +739,11 @@
 
 
 class Range(object):
-    def __init__(self, range_, loose):
+    def __init__(self, range_, loose, _split_rx=re.compile(r"\s*\|\|\s*")):
         self.loose = loose
         #  First, split based on boolean or ||
         self.raw = range_
-        xs = [self.parse_range(r.strip()) for r in re.split(r"\s*\|\|\s*", 
range_)]
+        xs = [self.parse_range(r.strip()) for r in _split_rx.split(range_)]
         self.set = [r for r in xs if r]
 
         if not len(self.set):
@@ -785,7 +800,7 @@
         set_ = [make_comparator(comp, loose) for comp in set_]
         return set_
 
-    def test(self, version):
+    def test(self, version, include_prerelease=False):
         if not version:  # xxx
             return False
 
@@ -793,7 +808,7 @@
             version = make_semver(version, loose=self.loose)
 
         for e in self.set:
-            if test_set(e, version):
+            if test_set(e, version, include_prerelease=include_prerelease):
                 return True
         return False
 
@@ -1033,11 +1048,11 @@
     return (from_ + ' ' + to).strip()
 
 
-def test_set(set_, version):
+def test_set(set_, version,  include_prerelease=False):
     for e in set_:
         if not e.test(version):
             return False
-    if len(version.prerelease) > 0:
+    if len(version.prerelease) > 0 and not include_prerelease:
         # Find the set of versions that are allowed to have prereleases
         # For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0
         # That should allow `1.2.3-pr.2` to pass.
@@ -1055,23 +1070,29 @@
     return True
 
 
-def satisfies(version, range_, loose=False):
+def satisfies(version, range_, loose=False, include_prerelease=False):
     try:
         range_ = make_range(range_, loose)
-    except Exception as e:
+    except InvalidTypeIncluded:
+        raise
+    except ValueError as e:
+        logger.info(e, exc_info=2)
         return False
-    return range_.test(version)
+    return range_.test(version, include_prerelease=include_prerelease)
 
 
-def max_satisfying(versions, range_, loose=False):
+def max_satisfying(versions, range_, loose=False, include_prerelease=False):
     try:
         range_ob = make_range(range_, loose=loose)
-    except:
+    except InvalidTypeIncluded:
+        raise
+    except ValueError as e:
+        logger.info(e, exc_info=2)
         return None
     max_ = None
     max_sv = None
     for v in versions:
-        if range_ob.test(v):  # satisfies(v, range_, loose=loose)
+        if range_ob.test(v, include_prerelease=include_prerelease):  # 
satisfies(v, range_, loose=loose)
             if max_ is None or max_sv.compare(v) == -1:  # compare(max, v, 
true)
                 max_ = v
                 max_sv = make_semver(max_, loose=loose)
@@ -1083,7 +1104,10 @@
         #  Return '*' instead of '' so that truthiness works.
         #  This will throw if it's invalid anyway
         return make_range(range_, loose).range or "*"
-    except:
+    except TypeError as e:
+        raise InvalidTypeIncluded("{} (range_={!r}".format(e, range_))
+    except ValueError as e:
+        logger.info(e, exc_info=2)
         return None
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-semver-0.4.2/semver/tests/test_invalid_version_number.py 
new/python-semver-0.6.1/semver/tests/test_invalid_version_number.py
--- old/python-semver-0.4.2/semver/tests/test_invalid_version_number.py 
2018-09-28 20:10:19.000000000 +0200
+++ new/python-semver-0.6.1/semver/tests/test_invalid_version_number.py 
2018-11-24 12:55:18.000000000 +0100
@@ -2,13 +2,32 @@
 import pytest
 # node-semver/test/index.js
 
-cands = ['1.2.3.4', 'NOT VALID', 1.2, None, 'Infinity.NaN.Infinity']
+cands = [
+    ('1.2.3.4', False, ValueError),
+    ('NOT VALID', False, ValueError),
+    (1.2, False, ValueError),
+    ("1.2", False, ValueError),
+    ("1.a.2", False, ValueError),
+    (None, False, ValueError),
+    ('X.2', False, ValueError),
+    ('Infinity.NaN.Infinity', False, ValueError),
+    ('1.2.3.4', True, None),
+    ('NOT VALID', True, ValueError),
+    (1.2, True, ValueError),
+    ("1.2", True, None),
+    ("1.a.2", True, ValueError),
+    (None, True, ValueError),
+    ('Infinity.NaN.Infinity', True, ValueError),
+    ('X.2', True, ValueError),
+]
 
 
[email protected]("v", cands)
-def test_it(v):
[email protected]("v, loose, exc", cands)
+def test_it(v, loose, exc):
     import pytest
     from semver import make_semver
-    with pytest.raises(ValueError):
-        loose = False
+    if exc is not None:
+        with pytest.raises(exc):
+            make_semver(v, loose)
+    else:
         make_semver(v, loose)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-semver-0.4.2/semver/tests/test_max_satisfying.py 
new/python-semver-0.6.1/semver/tests/test_max_satisfying.py
--- old/python-semver-0.4.2/semver/tests/test_max_satisfying.py 2018-09-28 
20:10:19.000000000 +0200
+++ new/python-semver-0.6.1/semver/tests/test_max_satisfying.py 2018-11-24 
12:55:18.000000000 +0100
@@ -3,14 +3,28 @@
 # node-semver/test/index.js
 
 cands = [
-    [['1.2.3', '1.2.4'], '1.2', '1.2.4', False],
-    [['1.2.4', '1.2.3'], '1.2', '1.2.4', False],
-    [['1.2.3', '1.2.4', '1.2.5', '1.2.6'], '~1.2.3', '1.2.6', False],
-    [['1.1.0', '1.2.0', '1.2.1', '1.3.0', '2.0.0b1', '2.0.0b2', '2.0.0b3', 
'2.0.0', '2.1.0'], '~2.0.0', '2.0.0', True]
+    [['1.2.4', '1.2.3', '1.2.5-beta'], '~1.2.3', '1.2.5-beta', False, True],
+    [['1.2.4', '1.2.3', '1.2.5-beta'], '~1.2.3', '1.2.4', False, False],
+    [['1.2.3', '1.2.4'], '1.2', '1.2.4', False, False],
+    [['1.2.4', '1.2.3'], '1.2', '1.2.4', False, False],
+    [['1.2.3', '1.2.4', '1.2.5', '1.2.6'], '~1.2.3', '1.2.6', False, False],
+    [['1.1.0', '1.2.0', '1.2.1', '1.3.0', '2.0.0b1', '2.0.0b2', '2.0.0b3', 
'2.0.0', '2.1.0'], '~2.0.0', '2.0.0',
+     True, False],
+    [['1.1.0', '1.2.0', '1.2.1', '1.3.0', '2.0.0b1', '2.0.0b2', '2.0.0b3', 
'2.0.0', '2.1.0'], '~2.0.0', ValueError,
+     False, False],
+    [['1.1.0', '1.2.0', '1.2.1', '1.3.0', '2.0.0b1', '2.0.0b2', '2.0.0', 
'2.0.1b1', '2.1.0'], '~2.0.0', '2.0.0',
+     True, False],
+    [['1.1.0', '1.2.0', '1.2.1', '1.3.0', '2.0.0b1', '2.0.0b2', '2.0.0', 
'2.0.1b1', '2.1.0'], '~2.0.0', '2.0.1b1',
+     True, True]
+
 ]
 
 
[email protected]("versions, range_, expect, loose", cands)
-def test_it(versions, range_, expect, loose):
[email protected]("versions, range_, expect, loose, 
include_prerelease", cands)
+def test_it(versions, range_, expect, loose, include_prerelease):
     from semver import max_satisfying
-    assert max_satisfying(versions, range_, loose) == expect
+    if isinstance(expect, type) and issubclass(expect, Exception):
+        with pytest.raises(expect):
+            max_satisfying(versions, range_, loose, include_prerelease)
+    else:
+        assert max_satisfying(versions, range_, loose, include_prerelease) == 
expect
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-semver-0.4.2/semver/tests/test_passing_bytes.py 
new/python-semver-0.6.1/semver/tests/test_passing_bytes.py
--- old/python-semver-0.4.2/semver/tests/test_passing_bytes.py  1970-01-01 
01:00:00.000000000 +0100
+++ new/python-semver-0.6.1/semver/tests/test_passing_bytes.py  2018-11-24 
12:55:18.000000000 +0100
@@ -0,0 +1,30 @@
+import pytest
+
+
+def test_max_satisfying():
+    def _callFUT(versions, range_):
+        from semver import max_satisfying
+        max_satisfying(versions, range_)
+
+    from semver import InvalidTypeIncluded
+    with pytest.raises(InvalidTypeIncluded):
+        _callFUT([b"1.0.0"], "1.0.0")
+    with pytest.raises(InvalidTypeIncluded):
+        _callFUT(["1.0.0"], b"1.0.0")
+    with pytest.raises(InvalidTypeIncluded):
+        _callFUT("1.0.0", [b"1.0.0"])  # mistakes
+    with pytest.raises(InvalidTypeIncluded):
+        _callFUT(b"1.0.0", ["1.0.0"])  # mistakes
+    _callFUT(["1.0.0"], "1.0.0")
+
+
+def test_satisfies():
+    def _callFUT(version, range_):
+        from semver import satisfies
+        satisfies(version, range_)
+
+    from semver import InvalidTypeIncluded
+    with pytest.raises(InvalidTypeIncluded):
+        _callFUT(b"1.0.0", "1.0.0")
+    with pytest.raises(InvalidTypeIncluded):
+        _callFUT("1.0.0", b"1.0.0")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-semver-0.4.2/semver/tests/test_range.py 
new/python-semver-0.6.1/semver/tests/test_range.py
--- old/python-semver-0.4.2/semver/tests/test_range.py  2018-09-28 
20:10:19.000000000 +0200
+++ new/python-semver-0.6.1/semver/tests/test_range.py  2018-11-24 
12:55:18.000000000 +0100
@@ -3,112 +3,114 @@
 # node-semver/test/index.js
 
 cands = [
-    ['1.0.0 - 2.0.0', '1.2.3', False],
-    ['^1.2.3+build', '1.2.3', False],
-    ['^1.2.3+build', '1.3.0', False],
-    ['1.2.3-pre+asdf - 2.4.3-pre+asdf', '1.2.3', False],
-    ['1.2.3pre+asdf - 2.4.3-pre+asdf', '1.2.3', True],
-    ['1.2.3-pre+asdf - 2.4.3pre+asdf', '1.2.3', True],
-    ['1.2.3pre+asdf - 2.4.3pre+asdf', '1.2.3', True],
-    ['1.2.3-pre+asdf - 2.4.3-pre+asdf', '1.2.3-pre.2', False],
-    ['1.2.3-pre+asdf - 2.4.3-pre+asdf', '2.4.3-alpha', False],
-    ['1.2.3+asdf - 2.4.3+asdf', '1.2.3', False],
-    ['1.0.0', '1.0.0', False],
-    ['>=*', '0.2.4', False],
-    ['', '1.0.0', False],
-    ['*', '1.2.3', False],
-    ['*', 'v1.2.3', True],
-    ['>=1.0.0', '1.0.0', False],
-    ['>=1.0.0', '1.0.1', False],
-    ['>=1.0.0', '1.1.0', False],
-    ['>1.0.0', '1.0.1', False],
-    ['>1.0.0', '1.1.0', False],
-    ['<=2.0.0', '2.0.0', False],
-    ['<=2.0.0', '1.9999.9999', False],
-    ['<=2.0.0', '0.2.9', False],
-    ['<2.0.0', '1.9999.9999', False],
-    ['<2.0.0', '0.2.9', False],
-    ['>= 1.0.0', '1.0.0', False],
-    ['>=  1.0.0', '1.0.1', False],
-    ['>=   1.0.0', '1.1.0', False],
-    ['> 1.0.0', '1.0.1', False],
-    ['>  1.0.0', '1.1.0', False],
-    ['<=   2.0.0', '2.0.0', False],
-    ['<= 2.0.0', '1.9999.9999', False],
-    ['<=  2.0.0', '0.2.9', False],
-    ['<    2.0.0', '1.9999.9999', False],
-    ['<\t2.0.0', '0.2.9', False],
-    ['>=0.1.97', 'v0.1.97', True],
-    ['>=0.1.97', '0.1.97', False],
-    ['0.1.20 || 1.2.4', '1.2.4', False],
-    ['>=0.2.3 || <0.0.1', '0.0.0', False],
-    ['>=0.2.3 || <0.0.1', '0.2.3', False],
-    ['>=0.2.3 || <0.0.1', '0.2.4', False],
-    ['||', '1.3.4', False],
-    ['2.x.x', '2.1.3', False],
-    ['1.2.x', '1.2.3', False],
-    ['1.2.x || 2.x', '2.1.3', False],
-    ['1.2.x || 2.x', '1.2.3', False],
-    ['x', '1.2.3', False],
-    ['2.*.*', '2.1.3', False],
-    ['1.2.*', '1.2.3', False],
-    ['1.2.* || 2.*', '2.1.3', False],
-    ['1.2.* || 2.*', '1.2.3', False],
-    ['*', '1.2.3', False],
-    ['2', '2.1.2', False],
-    ['2.3', '2.3.1', False],
-    ['~x', '0.0.9', False],  # >=2.4.0 <2.5.0
-    ['~2', '2.0.9', False],  # >=2.4.0 <2.5.0
-    ['~2.4', '2.4.0', False],  # >=2.4.0 <2.5.0
-    ['~2.4', '2.4.5', False],
-    ['~>3.2.1', '3.2.2', False],  # >=3.2.1 <3.3.0,
-    ['~1', '1.2.3', False],  # >=1.0.0 <2.0.0
-    ['~>1', '1.2.3', False],
-    ['~> 1', '1.2.3', False],
-    ['~1.0', '1.0.2', False],  # >=1.0.0 <1.1.0,
-    ['~ 1.0', '1.0.2', False],
-    ['~ 1.0.3', '1.0.12', False],
-    ['>=1', '1.0.0', False],
-    ['>= 1', '1.0.0', False],
-    ['<1.2', '1.1.1', False],
-    ['< 1.2', '1.1.1', False],
-    ['~v0.5.4-pre', '0.5.5', False],
-    ['~v0.5.4-pre', '0.5.4', False],
-    ['=0.7.x', '0.7.2', False],
-    ['<=0.7.x', '0.7.2', False],
-    ['>=0.7.x', '0.7.2', False],
-    ['<=0.7.x', '0.6.2', False],
-    ['~1.2.1 >=1.2.3', '1.2.3', False],
-    ['~1.2.1 =1.2.3', '1.2.3', False],
-    ['~1.2.1 1.2.3', '1.2.3', False],
-    ['~1.2.1 >=1.2.3 1.2.3', '1.2.3', False],
-    ['~1.2.1 1.2.3 >=1.2.3', '1.2.3', False],
-    ['~1.2.1 1.2.3', '1.2.3', False],
-    ['>=1.2.1 1.2.3', '1.2.3', False],
-    ['1.2.3 >=1.2.1', '1.2.3', False],
-    ['>=1.2.3 >=1.2.1', '1.2.3', False],
-    ['>=1.2.1 >=1.2.3', '1.2.3', False],
-    ['>=1.2', '1.2.8', False],
-    ['^1.2.3', '1.8.1', False],
-    ['^0.1.2', '0.1.2', False],
-    ['^0.1', '0.1.2', False],
-    ['^0.0.1', '0.0.1', False],
-    ['^1.2', '1.4.2', False],
-    ['^1.2 ^1', '1.4.2', False],
-    ['^1.2.3-alpha', '1.2.3-pre', False],
-    ['^1.2.0-alpha', '1.2.0-pre', False],
-    ['^0.0.1-alpha', '0.0.1-beta', False],
-    ['^0.1.1-alpha', '0.1.1-beta', False],
-    ['^x', '1.2.3', False],
-    ['x - 1.0.0', '0.9.7', False],
-    ['x - 1.x', '0.9.7', False],
-    ['1.0.0 - x', '1.9.7', False],
-    ['1.x - x', '1.9.7', False],
-    ['<=7.x', '7.9.9', False]
+    ['1.0.0 - 2.0.0', '1.2.3', False, False],
+    ['^1.2.3+build', '1.2.3', False, False],
+    ['^1.2.3+build', '1.3.0', False, False],
+    ['1.2.3-pre+asdf - 2.4.3-pre+asdf', '1.2.3', False, False],
+    ['1.2.3pre+asdf - 2.4.3-pre+asdf', '1.2.3', True, False],
+    ['1.2.3-pre+asdf - 2.4.3pre+asdf', '1.2.3', True, False],
+    ['1.2.3pre+asdf - 2.4.3pre+asdf', '1.2.3', True, False],
+    ['1.2.3-pre+asdf - 2.4.3-pre+asdf', '1.2.3-pre.2', False, False],
+    ['1.2.3-pre+asdf - 2.4.3-pre+asdf', '2.4.3-alpha', False, False],
+    ['1.2.3+asdf - 2.4.3+asdf', '1.2.3', False, False],
+    ['1.0.0', '1.0.0', False, False],
+    ['>=*', '0.2.4', False, False],
+    ['', '1.0.0', False, False],
+    ['*', '1.2.3', False, False],
+    ['*', 'v1.2.3', True, False],
+    ['>=1.0.0', '1.0.0', False, False],
+    ['>=1.0.0', '1.0.1', False, False],
+    ['>=1.0.0', '1.1.0', False, False],
+    ['>1.0.0', '1.0.1', False, False],
+    ['>1.0.0', '1.0.1-pre.1', False, True],
+    ['>1.0.0', '1.1.0', False, False],
+    ['<=2.0.0', '2.0.0', False, False],
+    ['<=2.0.0', '1.9999.9999', False, False],
+    ['<=2.0.0', '0.2.9', False, False],
+    ['<2.0.0', '1.9999.9999', False, False],
+    ['<2.0.0', '0.2.9', False, False],
+    ['>= 1.0.0', '1.0.0', False, False],
+    ['>=  1.0.0', '1.0.1', False, False],
+    ['>=   1.0.0', '1.1.0', False, False],
+    ['> 1.0.0', '1.0.1', False, False],
+    ['>  1.0.0', '1.1.0', False, False],
+    ['<=   2.0.0', '2.0.0', False, False],
+    ['<= 2.0.0', '1.9999.9999', False, False],
+    ['<=  2.0.0', '0.2.9', False, False],
+    ['<    2.0.0', '1.9999.9999', False, False],
+    ['<\t2.0.0', '0.2.9', False, False],
+    ['>=0.1.97', 'v0.1.97', True, False],
+    ['>=0.1.97', '0.1.97', False, False],
+    ['0.1.20 || 1.2.4', '1.2.4', False, False],
+    ['>=0.2.3 || <0.0.1', '0.0.0', False, False],
+    ['>=0.2.3 || <0.0.1', '0.2.3', False, False],
+    ['>=0.2.3 || <0.0.1', '0.2.4', False, False],
+    ['||', '1.3.4', False, False],
+    ['2.x.x', '2.1.3', False, False],
+    ['1.2.x', '1.2.3', False, False],
+    ['1.2.x || 2.x', '2.1.3', False, False],
+    ['1.2.x || 2.x', '1.2.3', False, False],
+    ['x', '1.2.3', False, False],
+    ['2.*.*', '2.1.3', False, False],
+    ['1.2.*', '1.2.3', False, False],
+    ['1.2.* || 2.*', '2.1.3', False, False],
+    ['1.2.* || 2.*', '1.2.3', False, False],
+    ['*', '1.2.3', False, False],
+    ['2', '2.1.2', False, False],
+    ['2.3', '2.3.1', False, False],
+    ['~x', '0.0.9', False, False],  # >=2.4.0 <2.5.0
+    ['~2', '2.0.9', False, False],  # >=2.4.0 <2.5.0
+    ['~2.4', '2.4.0', False, False],  # >=2.4.0 <2.5.0
+    ['~2.4', '2.4.5', False, False],
+    ['~>3.2.1', '3.2.2', False, False],  # >=3.2.1 <3.3.0,
+    ['~1', '1.2.3', False, False],  # >=1.0.0 <2.0.0
+    ['~>1', '1.2.3', False, False],
+    ['~> 1', '1.2.3', False, False],
+    ['~1.0', '1.0.2', False, False],  # >=1.0.0 <1.1.0,
+    ['~ 1.0', '1.0.2', False, False],
+    ['~ 1.0.3', '1.0.12', False, False],
+    ['>=1', '1.0.0', False, False],
+    ['>= 1', '1.0.0', False, False],
+    ['<1.2', '1.1.1', False, False],
+    ['< 1.2', '1.1.1', False, False],
+    ['~v0.5.4-pre', '0.5.5', False, False],
+    ['~v0.5.4-pre', '0.5.4', False, False],
+    ['=0.7.x', '0.7.2', False, False],
+    ['<=0.7.x', '0.7.2', False, False],
+    ['>=0.7.x', '0.7.2', False, False],
+    ['<=0.7.x', '0.6.2', False, False],
+    ['~1.2.1 >=1.2.3', '1.2.3', False, False],
+    ['~1.2.1 =1.2.3', '1.2.3', False, False],
+    ['~1.2.1 1.2.3', '1.2.3', False, False],
+    ['~1.2.1 >=1.2.3 1.2.3', '1.2.3', False, False],
+    ['~1.2.1 1.2.3 >=1.2.3', '1.2.3', False, False],
+    ['~1.2.1 1.2.3', '1.2.3', False, False],
+    ['>=1.2.1 1.2.3', '1.2.3', False, False],
+    ['1.2.3 >=1.2.1', '1.2.3', False, False],
+    ['>=1.2.3 >=1.2.1', '1.2.3', False, False],
+    ['>=1.2.1 >=1.2.3', '1.2.3', False, False],
+    ['>=1.2', '1.2.8', False, False],
+    ['^1.2.3', '1.8.1', False, False],
+    ['^0.1.2', '0.1.2', False, False],
+    ['^0.1', '0.1.2', False, False],
+    ['^0.0.1', '0.0.1', False, False],
+    ['^1.2', '1.4.2', False, False],
+    ['^1.2 ^1', '1.4.2', False, False],
+    ['^1.2.3-alpha', '1.2.3-pre', False, False],
+    ['^1.2.3-alpha', '1.2.4-pre', False, True],
+    ['^1.2.0-alpha', '1.2.0-pre', False, False],
+    ['^0.0.1-alpha', '0.0.1-beta', False, False],
+    ['^0.1.1-alpha', '0.1.1-beta', False, False],
+    ['^x', '1.2.3', False, False],
+    ['x - 1.0.0', '0.9.7', False, False],
+    ['x - 1.x', '0.9.7', False, False],
+    ['1.0.0 - x', '1.9.7', False, False],
+    ['1.x - x', '1.9.7', False, False],
+    ['<=7.x', '7.9.9', False, False]
 ]
 
 
[email protected]("range_, version, loose", cands)
-def test_it(range_, version, loose):
[email protected]("range_, version, loose, include_prerelease", cands)
+def test_it(range_, version, loose, include_prerelease):
     from semver import satisfies
-    assert satisfies(version, range_, loose) is True
+    assert satisfies(version, range_, loose, include_prerelease) is True
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-semver-0.4.2/setup.py 
new/python-semver-0.6.1/setup.py
--- old/python-semver-0.4.2/setup.py    2018-09-28 20:10:19.000000000 +0200
+++ new/python-semver-0.6.1/setup.py    2018-11-24 12:55:18.000000000 +0100
@@ -36,7 +36,7 @@
 
 setup(
     name='node-semver',
-    version='0.4.2',
+    version='0.6.1',
     description='port of node-semver',
     long_description=README + '\n\n' + CHANGES,
     classifiers=[


Reply via email to