From 6f5b539a5476601d0be2d22d3fde7dee6c8b0438 Mon Sep 17 00:00:00 2001 From: Izzy Date: Fri, 12 Jan 2018 22:12:27 +0100 Subject: [PATCH 1/2] fix "cannot identify image file" with XML icons --- fdroidserver/update.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/fdroidserver/update.py b/fdroidserver/update.py index c1079489..c5fa27df 100644 --- a/fdroidserver/update.py +++ b/fdroidserver/update.py @@ -1473,6 +1473,12 @@ def extract_apk_icons(icon_filename, apk, apkzip, repo_dir): if '-1' in apk['icons_src']: icon_src = apk['icons_src']['-1'] icon_path = os.path.join(get_icon_dir(repo_dir, '0'), icon_filename) + if icon_src.endswith('.xml'): + for f in apkzip.namelist(): + if f.endswith(png): + m = re.match(r'res/(drawable|mipmap)-(x*[hlm]dpi).*/', f) + if m: + icon_src = f with open(icon_path, 'wb') as f: f.write(get_icon_bytes(apkzip, icon_src)) im = None From 42ac65e8aa72499d0c46e2407a330f44ed3ccd46 Mon Sep 17 00:00:00 2001 From: Izzy Date: Wed, 17 Jan 2018 16:48:08 +0100 Subject: [PATCH 2/2] simplifying fix for "cannot identify image file" with XML icons --- fdroidserver/update.py | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/fdroidserver/update.py b/fdroidserver/update.py index c5fa27df..60fedfee 100644 --- a/fdroidserver/update.py +++ b/fdroidserver/update.py @@ -1470,15 +1470,9 @@ def extract_apk_icons(icon_filename, apk, apkzip, repo_dir): del apk['icons_src'][density] empty_densities.append(density) - if '-1' in apk['icons_src']: + if '-1' in apk['icons_src'] and not apk['icons_src']['-1'].endswith('.xml'): icon_src = apk['icons_src']['-1'] icon_path = os.path.join(get_icon_dir(repo_dir, '0'), icon_filename) - if icon_src.endswith('.xml'): - for f in apkzip.namelist(): - if f.endswith(png): - m = re.match(r'res/(drawable|mipmap)-(x*[hlm]dpi).*/', f) - if m: - icon_src = f with open(icon_path, 'wb') as f: f.write(get_icon_bytes(apkzip, icon_src)) im = None