File tree Expand file tree Collapse file tree 2 files changed +12
-10
lines changed Expand file tree Collapse file tree 2 files changed +12
-10
lines changed Original file line number Diff line number Diff line change @@ -603,16 +603,10 @@ def _new(self, im: core.ImagingCore) -> Image:
603
603
def __enter__ (self ):
604
604
return self
605
605
606
- def _close_fp (self ):
607
- if getattr (self , "_fp" , False ):
608
- if self ._fp != self .fp :
609
- self ._fp .close ()
610
- self ._fp = DeferredError (ValueError ("Operation on closed image" ))
611
- if self .fp :
612
- self .fp .close ()
613
-
614
606
def __exit__ (self , * args ):
615
- if hasattr (self , "fp" ):
607
+ from . import ImageFile
608
+
609
+ if isinstance (self , ImageFile .ImageFile ):
616
610
if getattr (self , "_exclusive_fp" , False ):
617
611
self ._close_fp ()
618
612
self .fp = None
Original file line number Diff line number Diff line change 39
39
40
40
from . import ExifTags , Image
41
41
from ._deprecate import deprecate
42
- from ._util import is_path
42
+ from ._util import DeferredError , is_path
43
43
44
44
if TYPE_CHECKING :
45
45
from ._typing import StrOrBytesPath
@@ -166,6 +166,14 @@ def __init__(
166
166
def _open (self ) -> None :
167
167
pass
168
168
169
+ def _close_fp (self ):
170
+ if getattr (self , "_fp" , False ):
171
+ if self ._fp != self .fp :
172
+ self ._fp .close ()
173
+ self ._fp = DeferredError (ValueError ("Operation on closed image" ))
174
+ if self .fp :
175
+ self .fp .close ()
176
+
169
177
def close (self ) -> None :
170
178
"""
171
179
Closes the file pointer, if possible.
You can’t perform that action at this time.
0 commit comments