From a8b1472a43c7cee4cac3e9da6e89d39636de296f Mon Sep 17 00:00:00 2001 From: Dmitriy Bogdanov Date: Thu, 18 Feb 2016 16:40:51 +0400 Subject: [PATCH] Fix update crash in case of unset dates in APK --- fdroidserver/update.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/fdroidserver/update.py b/fdroidserver/update.py index aa9a9a3b..180ddcc9 100644 --- a/fdroidserver/update.py +++ b/fdroidserver/update.py @@ -568,12 +568,16 @@ def scan_apks(apps, apkcache, repodir, knownapks): # has to be more than 24 hours newer because ZIP/APK files do not # store timezone info manifest = apkzip.getinfo('AndroidManifest.xml') - dt_obj = datetime(*manifest.date_time) - checkdt = dt_obj - timedelta(1) - if datetime.today() < checkdt: - logging.warn('System clock is older than manifest in: ' - + apkfilename + '\nSet clock to that time using:\n' - + 'sudo date -s "' + str(dt_obj) + '"') + if manifest.date_time[1] == 0: # month can't be zero + logging.debug('AndroidManifest.xml has no date') + else: + dt_obj = datetime(*manifest.date_time) + checkdt = dt_obj - timedelta(1) + if datetime.today() < checkdt: + logging.warn('System clock is older than manifest in: ' + + apkfilename + + '\nSet clock to that time using:\n' + + 'sudo date -s "' + str(dt_obj) + '"') iconfilename = "%s.%s.png" % ( apk['id'], -- 2.30.2