Skip to content

Commit 250c108

Browse files
committed
Make sure the versioning scheme ignores any leading v or V.
1 parent b1341c8 commit 250c108

File tree

2 files changed

+17
-1
lines changed

2 files changed

+17
-1
lines changed

octoprint_octolapse/test/test_migration_version.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,15 @@ def test_version(self):
2020

2121
# test stripping off commit level version info
2222
test_version = NumberedVersion('0.4.0rc1+u.dec65f5')
23+
# make sure identical version numbers are considered to be equal
24+
assert (
25+
NumberedVersion('0.4.0rc1') == NumberedVersion('0.4.0rc1')
26+
)
27+
28+
# make sure V prefixes are ignored version numbers are considered to be equal
29+
assert (
30+
NumberedVersion('v0.4.0rc1') == NumberedVersion('0.4.0rc1')
31+
)
2332

2433
# make sure that rc is always greater than rcX.devX
2534
assert (

octoprint_octolapse_setuptools/__init__.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,9 @@ class NumberedVersion(version.LooseVersion):
3131
exists.
3232
'''
3333
def __init__(self, vstring=None, pre_release_tags=['rc'], development_tags=['dev']):
34+
# trim vstring
35+
if vstring != None:
36+
vstring = vstring.strip()
3437
self.pre_release_tags = pre_release_tags
3538
self.development_tags = development_tags
3639
self.original_string = vstring
@@ -46,7 +49,11 @@ def __init__(self, vstring=None, pre_release_tags=['rc'], development_tags=['dev
4649
self.commit_guid = ''
4750
self.is_dirty = False
4851

49-
# First, find any pluses that contain commit level info
52+
# strip off any leading V or v
53+
if len(vstring) > 0 and vstring[0].upper() == "V":
54+
vstring = vstring[1:]
55+
56+
# find any pluses that contain commit level info
5057
if '+' in vstring:
5158
index = vstring.find('+')
5259
# make sure there is info after the '+'

0 commit comments

Comments
 (0)