Merge pull request #2216 from radarhere/open

If WalImageFile opens a file pointer, close
This commit is contained in:
wiredfool 2016-11-27 15:59:20 +00:00 committed by GitHub
commit fdeff998df

View File

@ -47,11 +47,7 @@ def open(filename):
# FIXME: modify to return a WalImageFile instance instead of
# plain Image object ?
if hasattr(filename, "read"):
fp = filename
else:
fp = builtins.open(filename, "rb")
def imopen(fp):
# read header fields
header = fp.read(32+24+32+12)
size = i32(header, 32), i32(header, 36)
@ -60,6 +56,7 @@ def open(filename):
# load pixel data
fp.seek(offset)
Image._decompression_bomb_check(size)
im = Image.frombytes("P", size, fp.read(size[0] * size[1]))
im.putpalette(quake2palette)
@ -74,6 +71,11 @@ def open(filename):
return im
if hasattr(filename, "read"):
return imopen(filename)
else:
with builtins.open(filename, "rb") as fp:
return imopen(fp)
quake2palette = (
# default palette taken from piffo 0.93 by Hans Häggström