eric6/Project/CreateDialogCodeDialog.py

changeset 7785
9978016560ec
parent 7775
4a1db75550bd
child 7836
2f0d208b8137
--- a/eric6/Project/CreateDialogCodeDialog.py	Tue Oct 13 19:02:26 2020 +0200
+++ b/eric6/Project/CreateDialogCodeDialog.py	Wed Oct 14 17:50:39 2020 +0200
@@ -421,9 +421,8 @@
                             """ project type "{0}".</p>""")
                         .format(self.project.getProjectType()))
                     return
-                tmplFile = open(tmplName, 'r', encoding="utf-8")
-                template = tmplFile.read()
-                tmplFile.close()
+                with open(tmplName, 'r', encoding="utf-8") as tmplFile:
+                    template = tmplFile.read()
             except IOError as why:
                 E5MessageBox.critical(
                     self,
@@ -457,9 +456,8 @@
         else:
             # extend existing file
             try:
-                srcFile = open(self.srcFile, 'r', encoding="utf-8")
-                sourceImpl = srcFile.readlines()
-                srcFile.close()
+                with open(self.srcFile, 'r', encoding="utf-8") as srcFile:
+                    sourceImpl = srcFile.readlines()
                 if not sourceImpl[-1].endswith("\n"):
                     sourceImpl[-1] = "{0}{1}".format(sourceImpl[-1], "\n")
             except IOError as why:
@@ -547,25 +545,24 @@
             sourceImpl[appendAtIndex:appendAtIndex] = slotsCode
         
         # write the new code
+        if self.project.useSystemEol():
+            newline = None
+        else:
+            newline = self.project.getEolString()
+        fn = self.filenameEdit.text()
         try:
-            if self.project.useSystemEol():
-                newline = None
-            else:
-                newline = self.project.getEolString()
-            srcFile = open(self.filenameEdit.text(), 'w', encoding="utf-8",
-                           newline=newline)
-            srcFile.write("".join(sourceImpl))
-            srcFile.close()
+            with open(fn, 'w', encoding="utf-8", newline=newline) as srcFile:
+                srcFile.write("".join(sourceImpl))
         except IOError as why:
             E5MessageBox.critical(
                 self,
                 self.tr("Code Generation"),
                 self.tr("""<p>Could not write the source file "{0}".</p>"""
                         """<p>Reason: {1}</p>""")
-                .format(self.filenameEdit.text(), str(why)))
+                .format(fn, str(why)))
             return
         
-        self.project.appendFile(self.filenameEdit.text())
+        self.project.appendFile(fn)
         
     @pyqtSlot(int)
     def on_classNameCombo_activated(self, index):

eric ide

mercurial