Index: packagerChrome.py |
diff --git a/packagerChrome.py b/packagerChrome.py |
index d75203d17b9e63262e69f44e5112cfc729005d8d..eb6eb1f21dcbee12d7ade95d0790ca9560d4fe14 100644 |
--- a/packagerChrome.py |
+++ b/packagerChrome.py |
@@ -43,13 +43,15 @@ def processFile(path, data, params): |
def makeIcons(files, filenames): |
- try: |
- from PIL import Image |
- except ImportError: |
- import Image |
icons = {} |
for filename in filenames: |
- width, height = Image.open(StringIO(files[filename])).size |
+ try: |
+ magic, width, height = struct.unpack_from('>8s8xii', |
+ files[filename]) |
+ except struct.error: |
+ magic = None |
+ if magic != '\x89PNG\r\n\x1a\n': |
+ raise Exception(filename + ' is no valid PNG.') |
if(width != height): |
print >>sys.stderr, 'Warning: %s size is %ix%i, icon should be square' % (filename, width, height) |
icons[width] = filename |