mirror of
https://github.com/python-pillow/Pillow.git
synced 2025-08-08 14:24:46 +03:00
use context block
This commit is contained in:
parent
8c75b955c1
commit
b7c30a6f92
14
PIL/Image.py
14
PIL/Image.py
|
@ -2239,21 +2239,20 @@ def open(fp, mode="r"):
|
|||
opened and identified.
|
||||
"""
|
||||
|
||||
should_close = False
|
||||
if mode != "r":
|
||||
raise ValueError("bad mode %r" % mode)
|
||||
|
||||
if isPath(fp):
|
||||
filename = fp
|
||||
fp = builtins.open(fp, "rb")
|
||||
should_close = True
|
||||
with builtins.open(fp, "rb") as fp:
|
||||
return _open(fp, filename, mode)
|
||||
else:
|
||||
filename = ""
|
||||
return _open(fp, filename, mode)
|
||||
|
||||
def finalize():
|
||||
if should_close:
|
||||
fp.close()
|
||||
|
||||
|
||||
def _open(fp, filename, mode):
|
||||
prefix = fp.read(16)
|
||||
|
||||
preinit()
|
||||
|
@ -2265,7 +2264,6 @@ def open(fp, mode="r"):
|
|||
fp.seek(0)
|
||||
im = factory(fp, filename)
|
||||
_decompression_bomb_check(im.size)
|
||||
finalize()
|
||||
return im
|
||||
except (SyntaxError, IndexError, TypeError):
|
||||
# import traceback
|
||||
|
@ -2281,14 +2279,12 @@ def open(fp, mode="r"):
|
|||
fp.seek(0)
|
||||
im = factory(fp, filename)
|
||||
_decompression_bomb_check(im.size)
|
||||
finalize()
|
||||
return im
|
||||
except (SyntaxError, IndexError, TypeError):
|
||||
# import traceback
|
||||
# traceback.print_exc()
|
||||
pass
|
||||
|
||||
finalize()
|
||||
raise IOError("cannot identify image file %r"
|
||||
% (filename if filename else fp))
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user