]> granicus.if.org Git - python/commitdiff
packaging: use with open() instead of try/finally: close
authorVictor Stinner <victor.stinner@haypocalc.com>
Thu, 19 May 2011 13:51:27 +0000 (15:51 +0200)
committerVictor Stinner <victor.stinner@haypocalc.com>
Thu, 19 May 2011 13:51:27 +0000 (15:51 +0200)
Lib/packaging/command/config.py
Lib/packaging/command/upload_docs.py
Lib/packaging/compiler/ccompiler.py
Lib/packaging/tests/support.py
Lib/packaging/tests/test_command_build_scripts.py
Lib/packaging/tests/test_command_install_dist.py
Lib/packaging/tests/test_command_install_scripts.py
Lib/packaging/tests/test_create.py
Lib/packaging/tests/test_pypi_server.py
Lib/packaging/tests/test_util.py
Lib/packaging/util.py

index a5feb9139a7e598e6da20cce8b03b5743fd70e44..264c1396b232ad040ac473469d60a51a94350217 100644 (file)
@@ -110,15 +110,14 @@ class config(Command):
 
     def _gen_temp_sourcefile(self, body, headers, lang):
         filename = "_configtest" + LANG_EXT[lang]
-        file = open(filename, "w")
-        if headers:
-            for header in headers:
-                file.write("#include <%s>\n" % header)
-            file.write("\n")
-        file.write(body)
-        if body[-1] != "\n":
-            file.write("\n")
-        file.close()
+        with open(filename, "w") as file:
+            if headers:
+                for header in headers:
+                    file.write("#include <%s>\n" % header)
+                file.write("\n")
+            file.write(body)
+            if body[-1] != "\n":
+                file.write("\n")
         return filename
 
     def _preprocess(self, body, headers, include_dirs, lang):
@@ -207,17 +206,16 @@ class config(Command):
         if isinstance(pattern, str):
             pattern = re.compile(pattern)
 
-        file = open(out)
-        match = False
-        while True:
-            line = file.readline()
-            if line == '':
-                break
-            if pattern.search(line):
-                match = True
-                break
-
-        file.close()
+        with open(out) as file:
+            match = False
+            while True:
+                line = file.readline()
+                if line == '':
+                    break
+                if pattern.search(line):
+                    match = True
+                    break
+
         self._clean()
         return match
 
index 29ea6e92e8bd2ecd5962684820a4d0f8d9b9774f..47e6217fcc20ff36a676fe00ab8e2dbf77676459 100644 (file)
@@ -18,14 +18,13 @@ from packaging.command.cmd import Command
 def zip_dir(directory):
     """Compresses recursively contents of directory into a BytesIO object"""
     destination = BytesIO()
-    zip_file = zipfile.ZipFile(destination, "w")
-    for root, dirs, files in os.walk(directory):
-        for name in files:
-            full = os.path.join(root, name)
-            relative = root[len(directory):].lstrip(os.path.sep)
-            dest = os.path.join(relative, name)
-            zip_file.write(full, dest)
-    zip_file.close()
+    with zipfile.ZipFile(destination, "w") as zip_file:
+        for root, dirs, files in os.walk(directory):
+            for name in files:
+                full = os.path.join(root, name)
+                relative = root[len(directory):].lstrip(os.path.sep)
+                dest = os.path.join(relative, name)
+                zip_file.write(full, dest)
     return destination
 
 
index 551c5dca384f1861b26548c2049493824d76ff83..ef806a2a6500c6ed88aa35b3df12dad196bc2769 100644 (file)
@@ -728,8 +728,7 @@ class CCompiler:
         if library_dirs is None:
             library_dirs = []
         fd, fname = tempfile.mkstemp(".c", funcname, text=True)
-        f = os.fdopen(fd, "w")
-        try:
+        with os.fdopen(fd, "w") as f:
             for incl in includes:
                 f.write("""#include "%s"\n""" % incl)
             f.write("""\
@@ -737,8 +736,6 @@ main (int argc, char **argv) {
     %s();
 }
 """ % funcname)
-        finally:
-            f.close()
         try:
             objects = self.compile([fname], include_dirs=include_dirs)
         except CompileError:
index cf5d7883a92329e2375d35cbf513b82f55d9533e..dbd8683269f9863421afde789894b94c9967a45a 100644 (file)
@@ -146,11 +146,8 @@ class TempdirManager:
         """
         if isinstance(path, (list, tuple)):
             path = os.path.join(*path)
-        f = open(path, 'w')
-        try:
+        with open(path, 'w') as f:
             f.write(content)
-        finally:
-            f.close()
 
     def create_dist(self, **kw):
         """Create a stub distribution object and files.
index 60d8b68d80cc444a48571e8969149aabea499a5c..fd3ac246a633bd7bd0b5be4de55635c483c9c3bc 100644 (file)
@@ -71,11 +71,8 @@ class BuildScriptsTestCase(support.TempdirManager,
         return expected
 
     def write_script(self, dir, name, text):
-        f = open(os.path.join(dir, name), "w")
-        try:
+        with open(os.path.join(dir, name), "w") as f:
             f.write(text)
-        finally:
-            f.close()
 
     def test_version_int(self):
         source = self.mkdtemp()
index a06d1f65a49ba403bcc94f1b1d2e55a92ea5d165..1974a2fc09241eef14bfc47f520aeca80e6be770 100644 (file)
@@ -193,11 +193,8 @@ class InstallTestCase(support.TempdirManager,
         # let's check the record file was created with four
         # lines, one for each .dist-info entry: METADATA,
         # INSTALLER, REQUSTED, RECORD
-        f = open(cmd.record)
-        try:
+        with open(cmd.record) as f:
             self.assertEqual(len(f.readlines()), 4)
-        finally:
-            f.close()
 
         # XXX test that fancy_getopt is okay with options named
         # record and no-record but unrelated
index 08c7338e34a9caa62bcef8f082ffd23a6c4c2b1e..6452a3455ae392065086e4844f79f639525faea5 100644 (file)
@@ -38,11 +38,8 @@ class InstallScriptsTestCase(support.TempdirManager,
 
         def write_script(name, text):
             expected.append(name)
-            f = open(os.path.join(source, name), "w")
-            try:
+            with open(os.path.join(source, name), "w") as f:
                 f.write(text)
-            finally:
-                f.close()
 
         write_script("script1.py", ("#! /usr/bin/env python2.3\n"
                                     "# bogus script w/ Python sh-bang\n"
index 99ab0633d38f56e26ace4a16a81421b28e58e4b0..9c7a91220c085a9e863910a6f3484112cbb9c5dc 100644 (file)
@@ -173,11 +173,8 @@ class CreateTestCase(support.TempdirManager,
                         dedent("""
         # -*- coding: utf-8 -*-
         from distutils.core import setup
-        fp = open('README.txt')
-        try:
+        with open('README.txt') as fp:
             long_description = fp.read()
-        finally:
-            fp.close()
 
         setup(name='pyxfoil',
               version='0.2',
index 1fcbdcbb1f8041b39aa21451fa1821776bece58a..2c4ec0d34c347ea505213935c2cf9124561903c3 100644 (file)
@@ -54,11 +54,9 @@ class PyPIServerTest(unittest.TestCase):
             url = server.full_address + url_path
             request = urllib.request.Request(url)
             response = urllib.request.urlopen(request)
-            file = open(PYPI_DEFAULT_STATIC_PATH + "/test_pypi_server" +
-               url_path)
-            answer = response.read().decode() == file.read()
-            file.close()
-            return answer
+            with open(PYPI_DEFAULT_STATIC_PATH + "/test_pypi_server"
+                      + url_path) as file:
+                return response.read().decode() == file.read()
 
         server = PyPIServer(static_uri_paths=["simple", "external"],
             static_filesystem_paths=["test_pypi_server"])
index 336086d26f9dc8509ad19467246ec1ee209d3e53..203c708a43de9dd66199e7b62acaffc42c57d02e 100644 (file)
@@ -720,17 +720,15 @@ class EggInfoToDistInfoTestCase(support.TempdirManager,
             dir_paths.append(path)
         for f in files:
             path = os.path.join(tempdir, f)
-            _f = open(path, 'w')
-            _f.write(f)
-            _f.close()
+            with open(path, 'w') as _f:
+                _f.write(f)
             file_paths.append(path)
 
-        record_file = open(record_file_path, 'w')
-        for fpath in file_paths:
-            record_file.write(fpath + '\n')
-        for dpath in dir_paths:
-            record_file.write(dpath + '\n')
-        record_file.close()
+        with open(record_file_path, 'w') as record_file:
+            for fpath in file_paths:
+                record_file.write(fpath + '\n')
+            for dpath in dir_paths:
+                record_file.write(dpath + '\n')
 
         return (tempdir, record_file_path)
 
index 486e2da373a2c6d909bb19cde7219380df0d83b3..348e3cd14a74ffe877d2ecf037f1722ba6d7023f 100644 (file)
@@ -350,7 +350,7 @@ def byte_compile(py_files, optimize=0, force=False, prefix=None,
             else:
                 script = open(script_name, "w")
 
-            try:
+            with script:
                 script.write("""\
 from packaging.util import byte_compile
 files = [
@@ -378,9 +378,6 @@ byte_compile(files, optimize=%r, force=%r,
              direct=True)
 """ % (optimize, force, prefix, base_dir, verbose))
 
-            finally:
-                script.close()
-
         cmd = [sys.executable, script_name]
         if optimize == 1:
             cmd.insert(1, "-O")