28
28
if enable_jpeg2k :
29
29
from PIL import Jpeg2KImagePlugin
30
30
31
+ MAGIC = b"icns"
31
32
HEADERSIZE = 8
32
33
33
34
@@ -165,7 +166,7 @@ def __init__(self, fobj):
165
166
self .dct = dct = {}
166
167
self .fobj = fobj
167
168
sig , filesize = nextheader (fobj )
168
- if sig != b"icns" :
169
+ if sig != MAGIC :
169
170
raise SyntaxError ("not an icns file" )
170
171
i = HEADERSIZE
171
172
while i < filesize :
@@ -301,14 +302,6 @@ def load(self):
301
302
self .load_end ()
302
303
303
304
304
- def _to_int (b ):
305
- return (b [0 ] << 24 ) | (b [1 ] << 16 ) | (b [2 ] << 8 ) | b [3 ]
306
-
307
-
308
- MAGIC = b"icns"
309
- TOC = b"TOC "
310
-
311
-
312
305
def _save (im , fp , filename ):
313
306
"""
314
307
Saves the image as a series of PNG files,
@@ -333,24 +326,22 @@ def _save(im, fp, filename):
333
326
entries = []
334
327
for index , size in enumerate (sizes ):
335
328
stream = size_streams [size ]
336
- entries .append (
337
- {"type" : _to_int (size_str [index ]), "size" : len (stream ), "stream" : stream }
338
- )
329
+ entries .append ({"type" : size_str [index ], "size" : len (stream ), "stream" : stream })
339
330
340
331
# Header
341
- fp .write (struct . pack ( ">i" , _to_int ( MAGIC )) )
332
+ fp .write (MAGIC )
342
333
fp .write (struct .pack (">i" , sum (entry ["size" ] for entry in entries )))
343
334
344
335
# TOC
345
- fp .write (struct . pack ( ">i" , _to_int ( TOC )) )
336
+ fp .write (b" TOC " )
346
337
fp .write (struct .pack (">i" , HEADERSIZE + len (entries ) * HEADERSIZE ))
347
338
for entry in entries :
348
- fp .write (struct . pack ( ">i" , entry ["type" ]) )
339
+ fp .write (entry ["type" ])
349
340
fp .write (struct .pack (">i" , HEADERSIZE + entry ["size" ]))
350
341
351
342
# Data
352
343
for entry in entries :
353
- fp .write (struct . pack ( ">i" , entry ["type" ]) )
344
+ fp .write (entry ["type" ])
354
345
fp .write (struct .pack (">i" , HEADERSIZE + entry ["size" ]))
355
346
fp .write (entry ["stream" ])
356
347
0 commit comments