Skip to content
Snippets Groups Projects
Verified Commit 6b04d154 authored by Ernesto Rico Schmidt's avatar Ernesto Rico Schmidt
Browse files

refactor: extract validate_value to avoid repetition

parent c41322a6
No related branches found
No related tags found
No related merge requests found
...@@ -577,16 +577,22 @@ class ImageShapeField(models.CharField): ...@@ -577,16 +577,22 @@ class ImageShapeField(models.CharField):
super().__init__(*args, **kwargs) super().__init__(*args, **kwargs)
def validate_value(value: list | dict, schema: dict) -> None:
"""Validates value against the schema. Raises a `DjangoValidationError` if it is invalid."""
try:
jsonschema.validate(instance=value, schema=schema)
except jsonschema.exceptions.ValidationError as e:
raise DjangoValidationError(e.args[0])
def validate_cba_domains(value): def validate_cba_domains(value):
schema = { schema = {
"type": "array", "type": "array",
"items": {"type": "string"}, "items": {"type": "string"},
} }
try: validate_value(value, schema)
jsonschema.validate(value, schema)
except jsonschema.exceptions.ValidationError as e:
raise DjangoValidationError(e.args[0])
def validate_line_in_channels(value): def validate_line_in_channels(value):
...@@ -597,10 +603,7 @@ def validate_line_in_channels(value): ...@@ -597,10 +603,7 @@ def validate_line_in_channels(value):
}, },
} }
try: validate_value(value, schema)
jsonschema.validate(value, schema)
except jsonschema.exceptions.ValidationError as e:
raise DjangoValidationError(e.args[0])
def validate_fallback_pools(value): def validate_fallback_pools(value):
...@@ -611,10 +614,7 @@ def validate_fallback_pools(value): ...@@ -611,10 +614,7 @@ def validate_fallback_pools(value):
}, },
} }
try: validate_value(value, schema)
jsonschema.validate(value, schema)
except jsonschema.exceptions.ValidationError as e:
raise DjangoValidationError(e.args[0])
class RadioSettings(models.Model): class RadioSettings(models.Model):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment