mirror of
https://github.com/jsvine/pdfplumber.git
synced 2026-08-29 08:34:23 +08:00
Replace atexit with __exit__
This commit is contained in:
+7
-3
@@ -9,8 +9,6 @@ from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
|
||||
from pdfminer.layout import LAParams
|
||||
from pdfminer.converter import PDFPageAggregator
|
||||
|
||||
import atexit
|
||||
|
||||
class PDF(Container):
|
||||
cached_properties = Container.cached_properties + [ "_pages" ]
|
||||
|
||||
@@ -30,7 +28,6 @@ class PDF(Container):
|
||||
self.metadata[k] = decode_text(v)
|
||||
self.device = PDFPageAggregator(rsrcmgr, laparams=self.laparams)
|
||||
self.interpreter = PDFPageInterpreter(rsrcmgr, self.device)
|
||||
atexit.register(self.close)
|
||||
|
||||
def process_page(self, page):
|
||||
self.interpreter.process_page(page)
|
||||
@@ -53,6 +50,13 @@ class PDF(Container):
|
||||
def close(self):
|
||||
self.stream.close()
|
||||
|
||||
def __enter__(self):
|
||||
return self
|
||||
|
||||
def __exit__(self, type, value, traceback):
|
||||
self.flush_cache()
|
||||
self.close()
|
||||
|
||||
@property
|
||||
def objects(self):
|
||||
if hasattr(self, "_objects"): return self._objects
|
||||
|
||||
Reference in New Issue
Block a user