Merge ~cjwatson/ols-charm-deps:resource-warnings into ols-charm-deps:master

Proposed by Colin Watson
Status: Merged
Approved by: Guillermo Gonzalez
Approved revision: 84a7dbcc776be65897b5bb8c4c0f0b89c2e7bc03
Merge reported by: Otto Co-Pilot
Merged at revision: not available
Proposed branch: ~cjwatson/ols-charm-deps:resource-warnings
Merge into: ols-charm-deps:master
Diff against target: 64 lines (+10/-5)
4 files modified
layer/ols-pg/lib/ols/postgres.py (+2/-1)
layer/ols/actions/show-config (+2/-1)
layer/ols/reactive/ols.py (+2/-1)
layer/ols/unit_tests/test_ols.py (+4/-2)
Reviewer Review Type Date Requested Status
Guillermo Gonzalez Approve
Review via email: mp+379741@code.launchpad.net

Commit message

Fix ResourceWarnings on Python 3

Description of the change

Python 3 tends to produce warnings for code along the lines of open(...).read(). Use context manager forms instead.

To post a comment you must log in.
Revision history for this message
Guillermo Gonzalez (verterok) wrote :

+1

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
diff --git a/layer/ols-pg/lib/ols/postgres.py b/layer/ols-pg/lib/ols/postgres.py
index 98f9da3..55bd3a4 100644
--- a/layer/ols-pg/lib/ols/postgres.py
+++ b/layer/ols-pg/lib/ols/postgres.py
@@ -12,7 +12,8 @@ from ols import base
1212
13def db_relations(only_admin=False):13def db_relations(only_admin=False):
14 databases = layer.options().get('ols-pg', {}).get('databases', {})14 databases = layer.options().get('ols-pg', {}).get('databases', {})
15 metadata = yaml.safe_load(open('metadata.yaml').read())15 with open('metadata.yaml') as metadata_file:
16 metadata = yaml.safe_load(metadata_file.read())
16 requires = metadata.get('requires', {})17 requires = metadata.get('requires', {})
17 relations = {}18 relations = {}
1819
diff --git a/layer/ols/actions/show-config b/layer/ols/actions/show-config
index 140b0b4..5ea46c2 100755
--- a/layer/ols/actions/show-config
+++ b/layer/ols/actions/show-config
@@ -17,6 +17,7 @@ for name, path in ols.base.service_paths().items():
17 continue17 continue
18 if os.path.isfile(path):18 if os.path.isfile(path):
19 contents[name + 'path'] = path19 contents[name + 'path'] = path
20 contents[name] = open(path).read()20 with open(path) as f:
21 contents[name] = f.read()
2122
22hookenv.action_set(contents)23hookenv.action_set(contents)
diff --git a/layer/ols/reactive/ols.py b/layer/ols/reactive/ols.py
index ef0a0ed..dcc9b01 100644
--- a/layer/ols/reactive/ols.py
+++ b/layer/ols/reactive/ols.py
@@ -34,7 +34,8 @@ def install_service():
34 'Service installed, but not configured.')34 'Service installed, but not configured.')
35 version_info = os.path.join(code_dir(), 'version-info.txt')35 version_info = os.path.join(code_dir(), 'version-info.txt')
36 if os.path.exists(version_info):36 if os.path.exists(version_info):
37 hookenv.application_version_set(open(version_info).read().strip())37 with open(version_info) as version_file:
38 hookenv.application_version_set(version_file.read().strip())
38 set_state('ols.service.installed')39 set_state('ols.service.installed')
3940
4041
diff --git a/layer/ols/unit_tests/test_ols.py b/layer/ols/unit_tests/test_ols.py
index 3676aae..3693574 100644
--- a/layer/ols/unit_tests/test_ols.py
+++ b/layer/ols/unit_tests/test_ols.py
@@ -359,7 +359,8 @@ class RenderTest(TestCase):
359359
360 changed = render.render('test.tmpl', target, context)360 changed = render.render('test.tmpl', target, context)
361 self.assertTrue(changed)361 self.assertTrue(changed)
362 output = open(target, 'r').read()362 with open(target) as f:
363 output = f.read()
363 self.assertEqual(output, 'bar')364 self.assertEqual(output, 'bar')
364 self.assertFalse(os.path.exists(target + '.tmp'))365 self.assertFalse(os.path.exists(target + '.tmp'))
365366
@@ -372,7 +373,8 @@ class RenderTest(TestCase):
372373
373 changed = render.render('test.tmpl', target, context)374 changed = render.render('test.tmpl', target, context)
374 self.assertTrue(changed)375 self.assertTrue(changed)
375 output = open(target, 'r').read()376 with open(target) as f:
377 output = f.read()
376 self.assertEqual(output, 'bar')378 self.assertEqual(output, 'bar')
377 self.assertFalse(os.path.exists(target + '.tmp'))379 self.assertFalse(os.path.exists(target + '.tmp'))
378380

Subscribers

People subscribed via source and target branches