forked from LBRYCommunity/lbry-sdk
bug fix: version comparison is not lexographic.
Use distutils.version to compare version strings.
This commit is contained in:
parent
ea5d31b530
commit
d0bc383a79
2 changed files with 5 additions and 1 deletions
|
@ -1,6 +1,7 @@
|
||||||
import binascii
|
import binascii
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from decimal import Decimal
|
from decimal import Decimal
|
||||||
|
import distutils.version
|
||||||
import locale
|
import locale
|
||||||
import logging.handlers
|
import logging.handlers
|
||||||
import mimetypes
|
import mimetypes
|
||||||
|
@ -2314,4 +2315,4 @@ def get_version_from_tag(tag):
|
||||||
|
|
||||||
def compare_versions(a, b):
|
def compare_versions(a, b):
|
||||||
"""Returns True if version a is more recent than version b"""
|
"""Returns True if version a is more recent than version b"""
|
||||||
return a > b
|
return distutils.version.StrictVersion(a) > distutils.version.StrictVersion(b)
|
||||||
|
|
|
@ -36,3 +36,6 @@ class MiscTests(unittest.TestCase):
|
||||||
def test_error_is_thrown_when_version_cant_be_parsed(self):
|
def test_error_is_thrown_when_version_cant_be_parsed(self):
|
||||||
with self.assertRaises(Exception):
|
with self.assertRaises(Exception):
|
||||||
LBRYDaemon.get_version_from_tag('garbage')
|
LBRYDaemon.get_version_from_tag('garbage')
|
||||||
|
|
||||||
|
def test_compare_versions_isnot_lexographic(self):
|
||||||
|
self.assertTrue(LBRYDaemon.compare_versions('0.3.10', '0.3.6'))
|
||||||
|
|
Loading…
Reference in a new issue