mirror of
https://gitlab.com/fdroid/fdroidserver.git
synced 2024-10-05 18:50:09 +02:00
checkupdates: split out vercode parsing into testable function
This commit is contained in:
parent
bbee2cf707
commit
7d40e89341
@ -168,15 +168,8 @@ def check_tags(app, pattern):
|
||||
if vercode:
|
||||
logging.debug("Manifest exists in subdir '{0}'. Found version {1} ({2})"
|
||||
.format(subdir, version, vercode))
|
||||
try:
|
||||
i_vercode = int(vercode, 0)
|
||||
except ValueError:
|
||||
i_vercode = int(vercode)
|
||||
try:
|
||||
i_hcode = int(hcode, 0)
|
||||
except ValueError:
|
||||
i_hcode = int(hcode)
|
||||
if i_vercode > i_hcode:
|
||||
i_vercode = common.version_code_string_to_int(vercode)
|
||||
if i_vercode > common.version_code_string_to_int(hcode):
|
||||
hpak = package
|
||||
htag = tag
|
||||
hcode = str(i_vercode)
|
||||
|
@ -3224,6 +3224,14 @@ def string_is_integer(string):
|
||||
return False
|
||||
|
||||
|
||||
def version_code_string_to_int(vercode):
|
||||
"""Convert an version code string of any base into an int"""
|
||||
try:
|
||||
return int(vercode, 0)
|
||||
except ValueError:
|
||||
return int(vercode)
|
||||
|
||||
|
||||
def local_rsync(options, fromdir, todir):
|
||||
'''Rsync method for local to local copying of things
|
||||
|
||||
|
@ -1084,6 +1084,14 @@ class CommonTest(unittest.TestCase):
|
||||
self.assertFalse(fdroidserver.common.string_is_integer('01g'))
|
||||
self.assertFalse(fdroidserver.common.string_is_integer('o123'))
|
||||
|
||||
def test_version_code_string_to_int(self):
|
||||
self.assertEqual(16, fdroidserver.common.version_code_string_to_int('0x10'))
|
||||
self.assertEqual(198712389, fdroidserver.common.version_code_string_to_int('198712389'))
|
||||
self.assertEqual(8, fdroidserver.common.version_code_string_to_int('0o10'))
|
||||
self.assertEqual(10, fdroidserver.common.version_code_string_to_int('010'))
|
||||
self.assertEqual(123, fdroidserver.common.version_code_string_to_int('0000123'))
|
||||
self.assertEqual(-42, fdroidserver.common.version_code_string_to_int('-42'))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
os.chdir(os.path.dirname(__file__))
|
||||
|
Loading…
Reference in New Issue
Block a user