use open context managers in more places
Use open() as a context manager to simplify the close logic and make
the code easier to read & understand. This is also more Pythonic.
Change-Id: I579d03cca86f99b2c6c6a1f557f6e5704e2515a7
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/244734
Reviewed-by: David Pursehouse <dpursehouse@collab.net>
Tested-by: Mike Frysinger <vapier@google.com>
diff --git a/git_config.py b/git_config.py
index 1ea9c43..680de90 100644
--- a/git_config.py
+++ b/git_config.py
@@ -276,22 +276,16 @@
return None
try:
Trace(': parsing %s', self.file)
- fd = open(self._json)
- try:
+ with open(self._json) as fd:
return json.load(fd)
- finally:
- fd.close()
except (IOError, ValueError):
platform_utils.remove(self._json)
return None
def _SaveJson(self, cache):
try:
- fd = open(self._json, 'w')
- try:
+ with open(self._json, 'w') as fd:
json.dump(cache, fd, indent=2)
- finally:
- fd.close()
except (IOError, TypeError):
if os.path.exists(self._json):
platform_utils.remove(self._json)
@@ -773,15 +767,12 @@
self._Set('merge', self.merge)
else:
- fd = open(self._config.file, 'a')
- try:
+ with open(self._config.file, 'a') as fd:
fd.write('[branch "%s"]\n' % self.name)
if self.remote:
fd.write('\tremote = %s\n' % self.remote.name)
if self.merge:
fd.write('\tmerge = %s\n' % self.merge)
- finally:
- fd.close()
def _Set(self, key, value):
key = 'branch.%s.%s' % (self.name, key)