mirror of
				https://github.com/python-pillow/Pillow.git
				synced 2025-11-04 01:47:47 +03:00 
			
		
		
		
	Moved _close_fp into ImageFile
This commit is contained in:
		
							parent
							
								
									4ff18e03b8
								
							
						
					
					
						commit
						c78d23d547
					
				| 
						 | 
				
			
			@ -603,16 +603,10 @@ class Image:
 | 
			
		|||
    def __enter__(self):
 | 
			
		||||
        return self
 | 
			
		||||
 | 
			
		||||
    def _close_fp(self):
 | 
			
		||||
        if getattr(self, "_fp", False):
 | 
			
		||||
            if self._fp != self.fp:
 | 
			
		||||
                self._fp.close()
 | 
			
		||||
            self._fp = DeferredError(ValueError("Operation on closed image"))
 | 
			
		||||
        if self.fp:
 | 
			
		||||
            self.fp.close()
 | 
			
		||||
 | 
			
		||||
    def __exit__(self, *args):
 | 
			
		||||
        if hasattr(self, "fp"):
 | 
			
		||||
        from . import ImageFile
 | 
			
		||||
 | 
			
		||||
        if isinstance(self, ImageFile.ImageFile):
 | 
			
		||||
            if getattr(self, "_exclusive_fp", False):
 | 
			
		||||
                self._close_fp()
 | 
			
		||||
            self.fp = None
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -39,7 +39,7 @@ from typing import IO, TYPE_CHECKING, Any, NamedTuple, cast
 | 
			
		|||
 | 
			
		||||
from . import ExifTags, Image
 | 
			
		||||
from ._deprecate import deprecate
 | 
			
		||||
from ._util import is_path
 | 
			
		||||
from ._util import DeferredError, is_path
 | 
			
		||||
 | 
			
		||||
if TYPE_CHECKING:
 | 
			
		||||
    from ._typing import StrOrBytesPath
 | 
			
		||||
| 
						 | 
				
			
			@ -166,6 +166,14 @@ class ImageFile(Image.Image):
 | 
			
		|||
    def _open(self) -> None:
 | 
			
		||||
        pass
 | 
			
		||||
 | 
			
		||||
    def _close_fp(self):
 | 
			
		||||
        if getattr(self, "_fp", False):
 | 
			
		||||
            if self._fp != self.fp:
 | 
			
		||||
                self._fp.close()
 | 
			
		||||
            self._fp = DeferredError(ValueError("Operation on closed image"))
 | 
			
		||||
        if self.fp:
 | 
			
		||||
            self.fp.close()
 | 
			
		||||
 | 
			
		||||
    def close(self) -> None:
 | 
			
		||||
        """
 | 
			
		||||
        Closes the file pointer, if possible.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue
	
	Block a user