From 7c4bed05580171e4e86a5ac0ad977ae11899c4aa Mon Sep 17 00:00:00 2001 From: Gerhard Olsson Date: Tue, 23 Jul 2019 00:21:28 +0200 Subject: [PATCH 1/2] UpdateCheckIgnore: Exception if version not matched Ignoreversions were checked also if version did not match which raised the exception The 'version check' runs in some unexpected situations like just to find directories where to find the AutoName. --- fdroidserver/checkupdates.py | 8 ++++++-- fdroidserver/common.py | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/fdroidserver/checkupdates.py b/fdroidserver/checkupdates.py index d8d6af43..e472bee7 100644 --- a/fdroidserver/checkupdates.py +++ b/fdroidserver/checkupdates.py @@ -43,6 +43,9 @@ from .exception import VCSException, NoSubmodulesException, FDroidException, Met # required. def check_http(app): + ignoreversions = app.UpdateCheckIgnore + ignoresearch = re.compile(ignoreversions).search if ignoreversions else None + try: if not app.UpdateCheckData: @@ -82,8 +85,9 @@ def check_http(app): raise FDroidException("No RE match for version") version = m.group(1) - return (version, vercode) - + if version and ignoresearch and not ignoresearch(version): + return (version, vercode) + return (None, ("Version {version} is ignored").format(version=version)) except FDroidException: msg = "Could not complete http check for app {0} due to unknown error: {1}".format(app.id, traceback.format_exc()) return (None, msg) diff --git a/fdroidserver/common.py b/fdroidserver/common.py index d3141f08..55052355 100644 --- a/fdroidserver/common.py +++ b/fdroidserver/common.py @@ -1508,7 +1508,7 @@ def parse_androidmanifests(paths, app): if vercode is not None \ and (max_vercode is None or vercode > max_vercode): - if not ignoresearch or not ignoresearch(version): + if version and (not ignoresearch or not ignoresearch(version)): if version is not None: max_version = version if vercode is not None: From 19aa7360110e6df1296e6b233f25a71140871d33 Mon Sep 17 00:00:00 2001 From: Gerhard Olsson Date: Tue, 23 Jul 2019 00:22:32 +0200 Subject: [PATCH 2/2] UpdateCheckName is Ignore: Do not parse manifests --- fdroidserver/checkupdates.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/fdroidserver/checkupdates.py b/fdroidserver/checkupdates.py index e472bee7..988ad31a 100644 --- a/fdroidserver/checkupdates.py +++ b/fdroidserver/checkupdates.py @@ -355,7 +355,8 @@ def possible_subdirs(app): def fetch_autoname(app, tag): - if not app.RepoType or app.UpdateCheckMode in ('None', 'Static'): + if not app.RepoType or app.UpdateCheckMode in ('None', 'Static') \ + or app.UpdateCheckName == "Ignore": return None if app.RepoType == 'srclib':