Index: packagerChrome.py |
diff --git a/packagerChrome.py b/packagerChrome.py |
index d1b24968e935d5b6d86cdb7561419b701512453a..8e2eb77790aa192020ccc208713ef88aba21d16c 100644 |
--- a/packagerChrome.py |
+++ b/packagerChrome.py |
@@ -44,13 +44,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 |