252 if persistenceData: |
252 if persistenceData: |
253 lines.append("builder_data: {0}".format(persistenceData)) |
253 lines.append("builder_data: {0}".format(persistenceData)) |
254 lines.extend(self.umlView.getPersistenceData()) |
254 lines.extend(self.umlView.getPersistenceData()) |
255 |
255 |
256 try: |
256 try: |
257 f = open(filename, "w", encoding="utf-8") |
257 with open(filename, "w", encoding="utf-8") as f: |
258 f.write("\n".join(lines)) |
258 f.write("\n".join(lines)) |
259 f.close() |
|
260 except (IOError, OSError) as err: |
259 except (IOError, OSError) as err: |
261 E5MessageBox.critical( |
260 E5MessageBox.critical( |
262 self, |
261 self, |
263 self.tr("Save Diagram"), |
262 self.tr("Save Diagram"), |
264 self.tr( |
263 self.tr( |
282 if not filename: |
281 if not filename: |
283 # Cancelled by user |
282 # Cancelled by user |
284 return False |
283 return False |
285 |
284 |
286 try: |
285 try: |
287 f = open(filename, "r", encoding="utf-8") |
286 with open(filename, "r", encoding="utf-8") as f: |
288 data = f.read() |
287 data = f.read() |
289 f.close() |
|
290 except (IOError, OSError) as err: |
288 except (IOError, OSError) as err: |
291 E5MessageBox.critical( |
289 E5MessageBox.critical( |
292 self, |
290 self, |
293 self.tr("Load Diagram"), |
291 self.tr("Load Diagram"), |
294 self.tr( |
292 self.tr( |