diff --git a/pywrparser/types/network.py b/pywrparser/types/network.py index f540d59..4eac525 100644 --- a/pywrparser/types/network.py +++ b/pywrparser/types/network.py @@ -268,7 +268,7 @@ def attach_reference_parameters(self): attached_parameters.append(value) for attached_parameter in attached_parameters: - del(self.parameters[attached_parameter]) + self.parameters.pop(attached_parameter, None) def attach_reference_recorders(self): """ diff --git a/pywrparser/types/parameter.py b/pywrparser/types/parameter.py index 2fb1970..77e2b7b 100644 --- a/pywrparser/types/parameter.py +++ b/pywrparser/types/parameter.py @@ -39,14 +39,6 @@ def rule_aggregated_has_paramlist(self): assert "parameters" in self.data and isinstance(self.data["parameters"], list),\ f"AggregatedParameter <{self.name}> has invalid parameters" - @match("constantparameter") - def rule_constant_has_value(self): - assert "value" in self.data, f"ConstantParameter <{self.name}> does not define 'value'" - - @match("controlcurveparameter") - def rule_cc_has_controlcurve(self): - assert "control_curve" in self.data, f"ControlCurveParameter <{self.name}> does not define 'control_curve'" - @match("controlcurveparameter") def rule_cc_has_storage(self): assert "storage_node" in self.data, f"ControlCurveParameter <{self.name}> does not define 'storage_node'" diff --git a/pywrparser/types/timestepper.py b/pywrparser/types/timestepper.py index 5d165db..2334eb0 100644 --- a/pywrparser/types/timestepper.py +++ b/pywrparser/types/timestepper.py @@ -5,12 +5,12 @@ class PywrTimestepper(PywrType): def __init__(self, data): self.data = data - """ Validation rules """ - def rule_start_required(self): assert "start" in self.data, "Timestepper does not define 'start' key" - def rule_end_required(self): assert "end" in self.data, "Timestepper does not define 'end' key" + + def rule_start_before_end(self): + pass