mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-07 23:17:32 -06:00
Added validation to the models
This commit is contained in:
parent
68a90ec510
commit
a382b77eaa
2 changed files with 16 additions and 2 deletions
|
@ -6,6 +6,10 @@
|
|||
class BaseModel:
|
||||
def __init__(self, **kwargs):
|
||||
self.__dict__.update(kwargs)
|
||||
self.validate()
|
||||
|
||||
def validate(self):
|
||||
pass
|
||||
|
||||
|
||||
## Class representing a material that was fetched from the cluster API.
|
||||
|
@ -19,6 +23,10 @@ class ClusterMaterial(BaseModel):
|
|||
self.density = None # type: str
|
||||
super().__init__(**kwargs)
|
||||
|
||||
def validate(self):
|
||||
if not self.guid:
|
||||
raise ValueError("guid is required on ClusterMaterial")
|
||||
|
||||
|
||||
## Class representing a local material that was fetched from the container registry.
|
||||
class LocalMaterial(BaseModel):
|
||||
|
@ -40,3 +48,9 @@ class LocalMaterial(BaseModel):
|
|||
self.definition = None # type: str
|
||||
self.compatible = None # type: bool
|
||||
super().__init__(**kwargs)
|
||||
|
||||
def validate(self):
|
||||
if not self.GUID:
|
||||
raise ValueError("guid is required on LocalMaterial")
|
||||
if not self.id:
|
||||
raise ValueError("id is required on LocalMaterial")
|
||||
|
|
|
@ -159,8 +159,8 @@ class SendMaterialJob(Job):
|
|||
Logger.log("e", "Request material storage on printer: I didn't understand the printer's answer.")
|
||||
except json.JSONDecodeError:
|
||||
Logger.log("e", "Request material storage on printer: I didn't understand the printer's answer.")
|
||||
except TypeError:
|
||||
Logger.log("e", "Request material storage on printer: Printer's answer was missing GUIDs.")
|
||||
except ValueError:
|
||||
Logger.log("e", "Request material storage on printer: Printer's answer was missing a value.")
|
||||
|
||||
## Retrieves a list of local materials
|
||||
#
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue