Ensure that files are closed promptly in lsb_release.py
authorColin Watson <cjwatson@ubuntu.com>
Thu, 19 Jan 2012 16:53:06 +0000 (16:53 +0000)
committerDidier Raboud <odyx@debian.org>
Mon, 27 Feb 2012 12:32:38 +0000 (13:32 +0100)
Python 3.2 prints ResourceWarning noise otherwise.

Signed-off-by: Didier Raboud <odyx@debian.org>
lsb_release.py

index adbc24d36a0420165a8a7831176fb6f217aba440..5c6cb9ac00c9270650b2d4aa040618e3baf79f28 100644 (file)
@@ -211,7 +211,8 @@ def guess_debian_release():
 
     if os.path.exists('/etc/debian_version'):
         try:
-            release = open('/etc/debian_version').read().strip()
+            with open('/etc/debian_version') as debian_version:
+                release = debian_version.read().strip()
         except IOError, msg:
             print >> sys.stderr, 'Unable to open /etc/debian_version:', str(msg)
             release = 'unknown'
@@ -262,20 +263,21 @@ def get_lsb_information():
     distinfo = {}
     if os.path.exists('/etc/lsb-release'):
         try:
-            for line in open('/etc/lsb-release'):
-                line = line.strip()
-                if not line:
-                    continue
-                # Skip invalid lines
-                if not '=' in line:
-                    continue
-                var, arg = line.split('=', 1)
-                if var.startswith('DISTRIB_'):
-                    var = var[8:]
-                    if arg.startswith('"') and arg.endswith('"'):
-                        arg = arg[1:-1]
-                    if arg: # Ignore empty arguments
-                        distinfo[var] = arg.strip()
+            with open('/etc/lsb-release') as lsb_release_file:
+                for line in lsb_release_file:
+                    line = line.strip()
+                    if not line:
+                        continue
+                    # Skip invalid lines
+                    if not '=' in line:
+                        continue
+                    var, arg = line.split('=', 1)
+                    if var.startswith('DISTRIB_'):
+                        var = var[8:]
+                        if arg.startswith('"') and arg.endswith('"'):
+                            arg = arg[1:-1]
+                        if arg: # Ignore empty arguments
+                            distinfo[var] = arg.strip()
         except IOError, msg:
             print >> sys.stderr, 'Unable to open /etc/lsb-release:', str(msg)