public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] proj/portage:master commit in: lib/portage/dbapi/, lib/_emerge/
@ 2021-03-11 12:32 Zac Medico
  0 siblings, 0 replies; only message in thread
From: Zac Medico @ 2021-03-11 12:32 UTC (permalink / raw
  To: gentoo-commits

commit:     8879cef9006d2277453aaee407c234a2d1bc47ba
Author:     Florian Schmaus <flo <AT> geekplace <DOT> eu>
AuthorDate: Tue Mar  9 07:25:59 2021 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Thu Mar 11 12:04:41 2021 +0000
URL:        https://gitweb.gentoo.org/proj/portage.git/commit/?id=8879cef9

Use atomic_ofstream as Context Manager i.e., with-statement contexts

With [1: e93e6d65fa1c] atomic_ofstream became a Context Manager. This
commit transforms three further call sites of atomic_ofstream() to use
with-statement contexts for easier readability and increased
robustness against resource leaks.

1: e93e6d65fa1ca75f676a227f7918f8b6d747425c
   Make atomic_ofstream a Context Manager

Signed-off-by: Florian Schmaus <flo <AT> geekplace.eu>
Signed-off-by: Zac Medico <zmedico <AT> gentoo.org>

 lib/_emerge/BlockerCache.py            |  6 +++---
 lib/portage/dbapi/_VdbMetadataDelta.py | 11 +++++------
 lib/portage/dbapi/vartree.py           |  6 +++---
 3 files changed, 11 insertions(+), 12 deletions(-)

diff --git a/lib/_emerge/BlockerCache.py b/lib/_emerge/BlockerCache.py
index 8154d9ade..035f2212d 100644
--- a/lib/_emerge/BlockerCache.py
+++ b/lib/_emerge/BlockerCache.py
@@ -133,9 +133,9 @@ class BlockerCache(portage.cache.mappings.MutableMapping):
 		if len(self._modified) >= self._cache_threshold and \
 			secpass >= 2:
 			try:
-				f = portage.util.atomic_ofstream(self._cache_filename, mode='wb')
-				pickle.dump(self._cache_data, f, protocol=2)
-				f.close()
+				with portage.util.atomic_ofstream(self._cache_filename, mode='wb') as f:
+					pickle.dump(self._cache_data, f, protocol=2)
+
 				portage.util.apply_secpass_permissions(
 					self._cache_filename, gid=portage.portage_gid, mode=0o644)
 			except (IOError, OSError):

diff --git a/lib/portage/dbapi/_VdbMetadataDelta.py b/lib/portage/dbapi/_VdbMetadataDelta.py
index ffdc0b361..568e1964a 100644
--- a/lib/portage/dbapi/_VdbMetadataDelta.py
+++ b/lib/portage/dbapi/_VdbMetadataDelta.py
@@ -18,13 +18,12 @@ class VdbMetadataDelta:
 		self._vardb = vardb
 
 	def initialize(self, timestamp):
-		f = atomic_ofstream(self._vardb._cache_delta_filename, 'w',
-			encoding=_encodings['repo.content'], errors='strict')
-		json.dump({
-			"version": self._format_version,
-			"timestamp": timestamp
+		with atomic_ofstream(self._vardb._cache_delta_filename, 'w',
+			encoding=_encodings['repo.content'], errors='strict') as f:
+			json.dump({
+				"version": self._format_version,
+				"timestamp": timestamp
 			}, f, ensure_ascii=False)
-		f.close()
 
 	def load(self):
 

diff --git a/lib/portage/dbapi/vartree.py b/lib/portage/dbapi/vartree.py
index 826083eae..5ae035baf 100644
--- a/lib/portage/dbapi/vartree.py
+++ b/lib/portage/dbapi/vartree.py
@@ -614,9 +614,9 @@ class vardbapi(dbapi):
 			timestamp = time.time()
 			self._aux_cache["timestamp"] = timestamp
 
-			f = atomic_ofstream(self._aux_cache_filename, 'wb')
-			pickle.dump(self._aux_cache, f, protocol=2)
-			f.close()
+			with atomic_ofstream(self._aux_cache_filename, 'wb') as f:
+				pickle.dump(self._aux_cache, f, protocol=2)
+
 			apply_secpass_permissions(
 				self._aux_cache_filename, mode=0o644)
 


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2021-03-11 12:32 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-03-11 12:32 [gentoo-commits] proj/portage:master commit in: lib/portage/dbapi/, lib/_emerge/ Zac Medico

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox