eric6/Project/ProjectFile.py

changeset 8240
93b8a353c4bf
parent 8218
7c09585bd960
diff -r 59a9a658618c -r 93b8a353c4bf eric6/Project/ProjectFile.py
--- a/eric6/Project/ProjectFile.py	Wed Apr 14 19:38:19 2021 +0200
+++ b/eric6/Project/ProjectFile.py	Wed Apr 14 19:59:16 2021 +0200
@@ -9,6 +9,7 @@
 
 import json
 import time
+import contextlib
 import typing
 
 from PyQt5.QtCore import QObject
@@ -69,30 +70,24 @@
             "SOURCES", "FORMS", "TRANSLATIONS", "TRANSLATIONEXCEPTIONS",
             "RESOURCES", "INTERFACES", "PROTOCOLS", "OTHERS"
         ):
-            try:
+            with contextlib.suppress(KeyError):
                 projectDict["project"][key] = [
                     Utilities.fromNativeSeparators(f)
                     for f in projectDict["project"][key]
                 ]
-            except KeyError:
-                # ignore non-existent elements
-                pass
         for key in (
             "SPELLWORDS", "SPELLEXCLUDES", "TRANSLATIONPATTERN",
             "TRANSLATIONSBINPATH", "MAINSCRIPT"
         ):
-            try:
+            with contextlib.suppress(KeyError):
                 projectDict["project"][key] = Utilities.fromNativeSeparators(
                     projectDict["project"][key])
-            except KeyError:
-                # ignore non-existent elements
-                pass
         
         try:
             jsonString = json.dumps(projectDict, indent=2, sort_keys=True)
             with open(filename, "w", newline="") as f:
                 f.write(jsonString)
-        except (TypeError, EnvironmentError) as err:
+        except (TypeError, OSError) as err:
             with E5OverridenCursor():
                 E5MessageBox.critical(
                     None,
@@ -119,7 +114,7 @@
             with open(filename, "r") as f:
                 jsonString = f.read()
             projectDict = json.loads(jsonString)
-        except (EnvironmentError, json.JSONDecodeError) as err:
+        except (OSError, json.JSONDecodeError) as err:
             E5MessageBox.critical(
                 None,
                 self.tr("Read Project File"),
@@ -135,24 +130,18 @@
             "SOURCES", "FORMS", "TRANSLATIONS", "TRANSLATIONEXCEPTIONS",
             "RESOURCES", "INTERFACES", "PROTOCOLS", "OTHERS"
         ):
-            try:
+            with contextlib.suppress(KeyError):
                 projectDict["project"][key] = [
                     Utilities.toNativeSeparators(f)
                     for f in projectDict["project"][key]
                 ]
-            except KeyError:
-                # ignore non-existent elements
-                pass
         for key in (
             "SPELLWORDS", "SPELLEXCLUDES", "TRANSLATIONPATTERN",
             "TRANSLATIONSBINPATH", "MAINSCRIPT"
         ):
-            try:
+            with contextlib.suppress(KeyError):
                 projectDict["project"][key] = Utilities.toNativeSeparators(
                     projectDict["project"][key])
-            except KeyError:
-                # ignore non-existent elements
-                pass
         
         self.__project.pdata = projectDict["project"]
         

eric ide

mercurial