chiark / gitweb /
Keep the same ZipFile instance to retrieve all the icons
authorDaniel Martí <mvdan@mvdan.cc>
Tue, 7 Jan 2014 15:17:38 +0000 (16:17 +0100)
committerDaniel Martí <mvdan@mvdan.cc>
Tue, 7 Jan 2014 15:18:25 +0000 (16:18 +0100)
fdroidserver/update.py

index 4a86611b82857a0756f613ad6475522243ebdb7e..67088b6edfaf4f12e178220207812d9195f7598e 100644 (file)
@@ -458,6 +458,8 @@ def scan_apks(apps, apkcache, repodir, knownapks):
                 sys.exit(1)
             thisinfo['sig'] = output[7:].strip()
 
+            apk = zipfile.ZipFile(apkfile, 'r')
+
             iconfilename = "%s.%s.png" % (
                     thisinfo['id'],
                     thisinfo['versioncode'])
@@ -469,7 +471,6 @@ def scan_apks(apps, apkcache, repodir, knownapks):
                 if density not in thisinfo['icons_src']:
                     empty_densities.append(density)
                     continue
-                apk = zipfile.ZipFile(apkfile, 'r')
                 if 'icons' not in thisinfo:
                     thisinfo['icons'] = {}
                 iconsrc = thisinfo['icons_src'][density]
@@ -488,10 +489,10 @@ def scan_apks(apps, apkcache, repodir, knownapks):
                     del thisinfo['icons_src'][density]
                     empty_densities.append(density)
 
-                apk.close()
-
                 resize_icon(icondest, density)
 
+            apk.close()
+
             # First try resizing down to not lose quality
             last_density = None
             for density in densities: