]> arthur.barton.de Git - bup.git/blobdiff - lib/bup/index.py
MetaStoreWriter.__del__: replace with context management
[bup.git] / lib / bup / index.py
index dd24d937064d9d1cb3296700d7745515b85b0ea0..d0df52a4bbe158b661e5df44bda8b1b22b1c6d1f 100644 (file)
@@ -105,9 +105,12 @@ class MetaStoreWriter:
             self._file.close()
             self._file = None
 
-    def __del__(self):
-        # Be optimistic.
-        self.close()
+    def __enter__(self):
+        return self
+
+    def __exit__(self, type, value, traceback):
+        with pending_raise(value, rethrow=False):
+            self.close()
 
     def store(self, metadata):
         meta_encoded = metadata.encode(include_path=False)