Skip to content

Commit 017e296

Browse files
ppktscls19fr
authored andcommitted
Fix #194 and #114: Update semver regex to version from semver.org (#198)
Also, fix problem with invalid Python 2.7 super call.
1 parent 9e4ebcf commit 017e296

File tree

3 files changed

+34
-10
lines changed

3 files changed

+34
-10
lines changed

semver.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,18 +19,18 @@
1919
_REGEX = re.compile(
2020
r"""
2121
^
22-
(?P<major>(?:0|[1-9][0-9]*))
22+
(?P<major>0|[1-9]\d*)
2323
\.
24-
(?P<minor>(?:0|[1-9][0-9]*))
24+
(?P<minor>0|[1-9]\d*)
2525
\.
26-
(?P<patch>(?:0|[1-9][0-9]*))
27-
(\-(?P<prerelease>
28-
(?:0|[1-9A-Za-z-][0-9A-Za-z-]*)
29-
(\.(?:0|[1-9A-Za-z-][0-9A-Za-z-]*))*
26+
(?P<patch>0|[1-9]\d*)
27+
(?:-(?P<prerelease>
28+
(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)
29+
(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*
3030
))?
31-
(\+(?P<build>
32-
[0-9A-Za-z-]+
33-
(\.[0-9A-Za-z-]+)*
31+
(?:\+(?P<build>
32+
[0-9a-zA-Z-]+
33+
(?:\.[0-9a-zA-Z-]+)*
3434
))?
3535
$
3636
""", re.VERBOSE)

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ def run_tests(self):
3636

3737
class Clean(CleanCommand):
3838
def run(self):
39-
super().run()
39+
super(CleanCommand, self).run()
4040
delete_in_root = [
4141
'build',
4242
'.cache',

test_semver.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,30 @@ def test_fordocstrings(func):
7070
'prerelease': 'alpha-1',
7171
'build': 'build.11.e0f985a',
7272
}),
73+
("0.1.0-0f",
74+
{
75+
'major': 0,
76+
'minor': 1,
77+
'patch': 0,
78+
'prerelease': '0f',
79+
'build': None,
80+
}),
81+
("0.0.0-0foo.1",
82+
{
83+
'major': 0,
84+
'minor': 0,
85+
'patch': 0,
86+
'prerelease': '0foo.1',
87+
'build': None,
88+
}),
89+
("0.0.0-0foo.1+build.1",
90+
{
91+
'major': 0,
92+
'minor': 0,
93+
'patch': 0,
94+
'prerelease': '0foo.1',
95+
'build': 'build.1',
96+
}),
7397
])
7498
def test_should_parse_version(version, expected):
7599
result = parse(version)

0 commit comments

Comments
 (0)