131 icon=E5MessageBox.Warning) |
131 icon=E5MessageBox.Warning) |
132 if not res: |
132 if not res: |
133 return |
133 return |
134 fname = Utilities.toNativeSeparators(fname) |
134 fname = Utilities.toNativeSeparators(fname) |
135 |
135 |
136 try: |
136 txt = self.contents.toPlainText() |
137 f = open(fname, "w", encoding="utf-8") |
137 try: |
138 txt = self.contents.toPlainText() |
138 with open(fname, "w", encoding="utf-8") as f: |
139 try: |
139 try: |
140 f.write(txt) |
140 f.write(txt) |
141 except UnicodeError: |
141 except UnicodeError: |
142 pass |
142 pass |
143 f.close() |
|
144 except IOError as why: |
143 except IOError as why: |
145 E5MessageBox.critical( |
144 E5MessageBox.critical( |
146 self, self.tr('Save Diff'), |
145 self, self.tr('Save Diff'), |
147 self.tr( |
146 self.tr( |
148 '<p>The patch file <b>{0}</b> could not be saved.<br />' |
147 '<p>The patch file <b>{0}</b> could not be saved.<br />' |
157 try: |
156 try: |
158 filemtime1 = time.ctime(os.stat(self.filename1).st_mtime) |
157 filemtime1 = time.ctime(os.stat(self.filename1).st_mtime) |
159 except IOError: |
158 except IOError: |
160 filemtime1 = "" |
159 filemtime1 = "" |
161 try: |
160 try: |
162 f1 = open(self.filename1, "r", encoding="utf-8") |
161 with open(self.filename1, "r", encoding="utf-8") as f1: |
163 lines1 = f1.readlines() |
162 lines1 = f1.readlines() |
164 f1.close() |
|
165 except IOError: |
163 except IOError: |
166 E5MessageBox.critical( |
164 E5MessageBox.critical( |
167 self, |
165 self, |
168 self.tr("Compare Files"), |
166 self.tr("Compare Files"), |
169 self.tr( |
167 self.tr( |
175 try: |
173 try: |
176 filemtime2 = time.ctime(os.stat(self.filename2).st_mtime) |
174 filemtime2 = time.ctime(os.stat(self.filename2).st_mtime) |
177 except IOError: |
175 except IOError: |
178 filemtime2 = "" |
176 filemtime2 = "" |
179 try: |
177 try: |
180 f2 = open(self.filename2, "r", encoding="utf-8") |
178 with open(self.filename2, "r", encoding="utf-8") as f2: |
181 lines2 = f2.readlines() |
179 lines2 = f2.readlines() |
182 f2.close() |
|
183 except IOError: |
180 except IOError: |
184 E5MessageBox.critical( |
181 E5MessageBox.critical( |
185 self, |
182 self, |
186 self.tr("Compare Files"), |
183 self.tr("Compare Files"), |
187 self.tr( |
184 self.tr( |