Fix project-file generators (didn't close files)
authorCampbell Barton <ideasman42@gmail.com>
Thu, 30 Oct 2014 17:24:57 +0000 (18:24 +0100)
committerCampbell Barton <ideasman42@gmail.com>
Thu, 30 Oct 2014 17:26:54 +0000 (18:26 +0100)
build_files/cmake/cmake_netbeans_project.py
build_files/cmake/cmake_qtcreator_project.py

index fc6c64db1cd73467bce28cb8ec6546a0a9b39cd5..81b1a460f67240945f5370eed3a65bb63b60aa88 100755 (executable)
@@ -125,6 +125,8 @@ def create_nb_project_main():
         f.write('    </configuration>\n')
         f.write('</project>\n')
 
+        f.close()
+
         f = open(join(PROJECT_DIR_NB, "configurations.xml"), 'w')
 
         f.write('<?xml version="1.0" encoding="UTF-8"?>\n')
@@ -243,6 +245,8 @@ def create_nb_project_main():
 
         f.write('</configurationDescriptor>\n')
 
+        f.close()
+
 
 def main():
     create_nb_project_main()
index 346f5ea6a8e8eba735645a22e455f3202a891570..59b8c7e5c4ce0106aec49eb5e390cfb1c7d75768 100755 (executable)
@@ -63,21 +63,21 @@ def create_qtc_project_main():
     if SIMPLE_PROJECTFILE:
         # --- qtcreator specific, simple format
         PROJECT_NAME = "Blender"
-        f = open(os.path.join(PROJECT_DIR, "%s.files" % PROJECT_NAME), 'w')
-        f.write("\n".join(files_rel))
+        with open(os.path.join(PROJECT_DIR, "%s.files" % PROJECT_NAME), 'w') as f:
+            f.write("\n".join(files_rel))
 
-        f = open(os.path.join(PROJECT_DIR, "%s.includes" % PROJECT_NAME), 'w')
-        f.write("\n".join(sorted(list(set(os.path.dirname(f)
-                          for f in files_rel if is_c_header(f))))))
+        with open(os.path.join(PROJECT_DIR, "%s.includes" % PROJECT_NAME), 'w') as f:
+            f.write("\n".join(sorted(list(set(os.path.dirname(f)
+                              for f in files_rel if is_c_header(f))))))
 
         qtc_prj = os.path.join(PROJECT_DIR, "%s.creator" % PROJECT_NAME)
-        f = open(qtc_prj, 'w')
-        f.write("[General]\n")
+        with open(qtc_prj, 'w') as f:
+            f.write("[General]\n")
 
         qtc_cfg = os.path.join(PROJECT_DIR, "%s.config" % PROJECT_NAME)
         if not os.path.exists(qtc_cfg):
-            f = open(qtc_cfg, 'w')
-            f.write("// ADD PREDEFINED MACROS HERE!\n")
+            with open(qtc_cfg, 'w') as f:
+                f.write("// ADD PREDEFINED MACROS HERE!\n")
     else:
         includes, defines = cmake_advanced_info()
 
@@ -96,29 +96,30 @@ def create_qtc_project_main():
             PROJECT_NAME = project_name_get()
 
         FILE_NAME = PROJECT_NAME.lower()
-        f = open(os.path.join(PROJECT_DIR, "%s.files" % FILE_NAME), 'w')
-        f.write("\n".join(files_rel))
+        with open(os.path.join(PROJECT_DIR, "%s.files" % FILE_NAME), 'w') as f:
+            f.write("\n".join(files_rel))
 
-        f = open(os.path.join(PROJECT_DIR, "%s.includes" % FILE_NAME), 'w', encoding='utf-8')
-        f.write("\n".join(sorted(includes)))
+        with open(os.path.join(PROJECT_DIR, "%s.includes" % FILE_NAME), 'w', encoding='utf-8') as f:
+            f.write("\n".join(sorted(includes)))
 
         qtc_prj = os.path.join(PROJECT_DIR, "%s.creator" % FILE_NAME)
-        f = open(qtc_prj, 'w')
-        f.write("[General]\n")
+        with open(qtc_prj, 'w') as f:
+            f.write("[General]\n")
 
         qtc_cfg = os.path.join(PROJECT_DIR, "%s.config" % FILE_NAME)
-        f = open(qtc_cfg, 'w')
-        f.write("// ADD PREDEFINED MACROS TO %s_custom.config!\n" % FILE_NAME)
-        qtc_custom_cfg = os.path.join(PROJECT_DIR, "%s_custom.config" % FILE_NAME)
-        if os.path.exists(qtc_custom_cfg):
-            fc = open(qtc_custom_cfg, 'r')
-            f.write(fc.read())
-            fc.close()
-            f.write("\n")
-        defines_final = [("#define %s %s" % (item[0], quote_define(item[1]))) for item in defines]
-        if sys.platform != "win32":
-            defines_final += cmake_compiler_defines()
-        f.write("\n".join(defines_final))
+        with open(qtc_cfg, 'w') as f:
+            f.write("// ADD PREDEFINED MACROS TO %s_custom.config!\n" % FILE_NAME)
+
+            qtc_custom_cfg = os.path.join(PROJECT_DIR, "%s_custom.config" % FILE_NAME)
+            if os.path.exists(qtc_custom_cfg):
+                with open(qtc_custom_cfg, 'r') as fc:
+                    f.write(fc.read())
+                    f.write("\n")
+
+            defines_final = [("#define %s %s" % (item[0], quote_define(item[1]))) for item in defines]
+            if sys.platform != "win32":
+                defines_final += cmake_compiler_defines()
+            f.write("\n".join(defines_final))
 
     print("Blender project file written to: %r" % qtc_prj)
     # --- end
@@ -137,17 +138,17 @@ def create_qtc_project_python():
         PROJECT_NAME = project_name_get() + "_Python"
 
     FILE_NAME = PROJECT_NAME.lower()
-    f = open(os.path.join(PROJECT_DIR, "%s.files" % FILE_NAME), 'w')
-    f.write("\n".join(files_rel))
+    with open(os.path.join(PROJECT_DIR, "%s.files" % FILE_NAME), 'w') as f:
+        f.write("\n".join(files_rel))
 
     qtc_prj = os.path.join(PROJECT_DIR, "%s.creator" % FILE_NAME)
-    f = open(qtc_prj, 'w')
-    f.write("[General]\n")
+    with open(qtc_prj, 'w') as f:
+        f.write("[General]\n")
 
     qtc_cfg = os.path.join(PROJECT_DIR, "%s.config" % FILE_NAME)
     if not os.path.exists(qtc_cfg):
-        f = open(qtc_cfg, 'w')
-        f.write("// ADD PREDEFINED MACROS HERE!\n")
+        with open(qtc_cfg, 'w') as f:
+            f.write("// ADD PREDEFINED MACROS HERE!\n")
 
     print("Python project file written to:  %r" % qtc_prj)