Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/Ultimaker/Cura.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGhostkeeper <rubend@tutanota.com>2018-04-06 14:26:16 +0300
committerGhostkeeper <rubend@tutanota.com>2018-04-06 14:26:16 +0300
commit572721e20d19e7c7e5d7d4ebad469d8fb6d8c0f8 (patch)
treec5c8bfc5d66376dacc995b6dbfd9df856c7edd8e /plugins/CuraProfileReader
parentc9dc429b2b98977a258daa52f84189854e0f63f2 (diff)
Catch ContainerFormatError when deserialising containers
Only the deserialize() functions themselves may pass the ContainerFormatError on, because their callers will have to handle those errors anyway. Contributes to issue CURA-5045.
Diffstat (limited to 'plugins/CuraProfileReader')
-rw-r--r--plugins/CuraProfileReader/CuraProfileReader.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/plugins/CuraProfileReader/CuraProfileReader.py b/plugins/CuraProfileReader/CuraProfileReader.py
index 69b2187541..8630e885a5 100644
--- a/plugins/CuraProfileReader/CuraProfileReader.py
+++ b/plugins/CuraProfileReader/CuraProfileReader.py
@@ -1,9 +1,10 @@
-# Copyright (c) 2016 Ultimaker B.V.
+# Copyright (c) 2018 Ultimaker B.V.
# Cura is released under the terms of the LGPLv3 or higher.
import configparser
from UM.PluginRegistry import PluginRegistry
from UM.Logger import Logger
+from UM.Settings.ContainerFormatError import ContainerFormatError
from UM.Settings.InstanceContainer import InstanceContainer # The new profile to make.
from cura.ProfileReader import ProfileReader
@@ -77,7 +78,10 @@ class CuraProfileReader(ProfileReader):
profile.addMetaDataEntry("type", "quality_changes")
try:
profile.deserialize(serialized)
- except Exception as e: # Parsing error. This is not a (valid) Cura profile then.
+ except ContainerFormatError as e:
+ Logger.log("e", "Error in the format of a container: %s", str(e))
+ return None
+ except Exception as e:
Logger.log("e", "Error while trying to parse profile: %s", str(e))
return None
return profile