From 57a4e03277c5db92d3f7404f61c54e67ab2af196 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Mon, 2 Jun 2014 16:18:12 -0400 Subject: [PATCH] update: skip APKs that cannot be parsed instead of exiting Some APKs can be corrupt or some system APKs do not have all the normal info. Instead of quitting, `fdroid update` skips the non-parsable APKs and optionally deletes them if --delete-unknown is specified. --- fdroidserver/update.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/fdroidserver/update.py b/fdroidserver/update.py index d7e93fcf..839a84f8 100644 --- a/fdroidserver/update.py +++ b/fdroidserver/update.py @@ -379,8 +379,15 @@ def scan_apks(apps, apkcache, repodir, knownapks): config['build_tools'], 'aapt'), 'dump', 'badging', apkfile]) if p.returncode != 0: - logging.critical("Failed to get apk information") - sys.exit(1) + if options.delete_unknown: + if os.path.exists(apkfile): + logging.error("Failed to get apk information, deleting " + apkfile) + os.remove(apkfile) + else: + logging.error("Could not find {0} to remove it".format(apkfile)) + else: + logging.error("Failed to get apk information, skipping " + apkfile) + continue for line in p.stdout.splitlines(): if line.startswith("package:"): try: -- 2.30.2