From: Jonas Kalderstam Date: Tue, 27 Mar 2018 12:17:08 +0000 (+0200) Subject: Fix crash when icon_name is None X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=1f706283cedec66055d09b11bd74702861f18a5f;p=fdroidserver.git Fix crash when icon_name is None Fixes the following crash: ``` $ fdroid update --create-metadata --rename-apks WARNING: Using Java's jarsigner, not recommended for verifying APKs! Use apksigner CRITICAL: Unknown exception found! Traceback (most recent call last): File "/home/jonas/miniconda3/bin/fdroid", line 164, in main() File "/home/jonas/miniconda3/bin/fdroid", line 138, in main mod.main() File "/home/jonas/miniconda/lib/python3.6/site-packages/fdroidserver/update.py", line 1927, in main apks, cachechanged = process_apks(apkcache, repodirs[0], knownapks, options.use_date_from_apk) File "/home/jonas/miniconda/lib/python3.6/site-packages/fdroidserver/update.py", line 1454, in process_apks use_date_from_apk, ada, True) File "/home/jonas/miniconda/lib/python3.6/site-packages/fdroidserver/update.py", line 1327, in process_apk apk = scan_apk(apkfile) File "/home/jonas/miniconda/lib/python3.6/site-packages/fdroidserver/update.py", line 1056, in scan_apk scan_apk_aapt(apk, apk_file) File "/home/jonas/miniconda/lib/python3.6/site-packages/fdroidserver/update.py", line 1184, in scan_apk_aapt apk['icons_src'] = _get_apk_icons_src(apkfile, icon_name) File "/home/jonas/miniconda/lib/python3.6/site-packages/fdroidserver/update.py", line 1089, in _get_apk_icons_src density_re = re.compile('^res/(.*)/' + icon_name + '\.(png|xml)$') TypeError: must be str, not NoneType ``` --- diff --git a/fdroidserver/update.py b/fdroidserver/update.py index 9c6c21f3..83f069fa 100644 --- a/fdroidserver/update.py +++ b/fdroidserver/update.py @@ -1086,7 +1086,7 @@ def _get_apk_icons_src(apkfile, icon_name): """ icons_src = dict() - density_re = re.compile('^res/(.*)/' + icon_name + '\.(png|xml)$') + density_re = re.compile('^res/(.*)/{}\.(png|xml)$'.format(icon_name)) with zipfile.ZipFile(apkfile) as zf: for filename in zf.namelist(): m = density_re.match(filename)