diff --git a/fdroidserver/checkupdates.py b/fdroidserver/checkupdates.py index b166ca39..ea21bb66 100644 --- a/fdroidserver/checkupdates.py +++ b/fdroidserver/checkupdates.py @@ -168,10 +168,18 @@ def check_tags(app, pattern): if vercode: logging.debug("Manifest exists in subdir '{0}'. Found version {1} ({2})" .format(subdir, version, vercode)) - if int(vercode) > int(hcode): + 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: hpak = package htag = tag - hcode = str(int(vercode)) + hcode = str(i_vercode) hver = version if not hpak: diff --git a/fdroidserver/common.py b/fdroidserver/common.py index 7e145519..02a58390 100644 --- a/fdroidserver/common.py +++ b/fdroidserver/common.py @@ -3209,10 +3209,14 @@ def parse_xml(path): def string_is_integer(string): try: - int(string) + int(string, 0) return True except ValueError: - return False + try: + int(string) + return True + except ValueError: + return False def local_rsync(options, fromdir, todir):