blueprints: improve error messages

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
This commit is contained in:
Jens Langhammer 2022-08-23 19:21:57 +02:00
parent 2af4f28239
commit ce2ce38b59
2 changed files with 7 additions and 4 deletions

View File

@ -169,7 +169,9 @@ class Importer:
serializer_kwargs["instance"] = model_instance serializer_kwargs["instance"] = model_instance
serializer_kwargs["partial"] = True serializer_kwargs["partial"] = True
else: else:
self.logger.debug("initialise new instance", model=model, **updated_identifiers) self.logger.debug(
"initialised new serializer instance", model=model, **updated_identifiers
)
model_instance = model() model_instance = model()
# pk needs to be set on the model instance otherwise a new one will be generated # pk needs to be set on the model instance otherwise a new one will be generated
if "pk" in updated_identifiers: if "pk" in updated_identifiers:
@ -215,7 +217,7 @@ class Importer:
try: try:
serializer = self._validate_single(entry) serializer = self._validate_single(entry)
except EntryInvalidError as exc: except EntryInvalidError as exc:
self.logger.warning("entry invalid", entry=entry, error=exc) self.logger.warning(f"entry invalid: {exc}", entry=entry, error=exc)
return False return False
model = serializer.save() model = serializer.save()
@ -239,7 +241,7 @@ class Importer:
): ):
successful = self._apply_models() successful = self._apply_models()
if not successful: if not successful:
self.logger.debug("blueprint validation failed") self.logger.debug("Blueprint validation failed")
for log in logs: for log in logs:
self.logger.debug(**log) self.logger.debug(**log)
self.__import = orig_import self.__import = orig_import

View File

@ -6,6 +6,7 @@ from typing import Optional
from dacite import from_dict from dacite import from_dict
from django.db import DatabaseError, InternalError, ProgrammingError from django.db import DatabaseError, InternalError, ProgrammingError
from django.utils.text import slugify
from django.utils.timezone import now from django.utils.timezone import now
from django.utils.translation import gettext_lazy as _ from django.utils.translation import gettext_lazy as _
from structlog.stdlib import get_logger from structlog.stdlib import get_logger
@ -134,10 +135,10 @@ def check_blueprint_v1_file(blueprint: BlueprintFile):
) )
def apply_blueprint(self: MonitoredTask, instance_pk: str): def apply_blueprint(self: MonitoredTask, instance_pk: str):
"""Apply single blueprint""" """Apply single blueprint"""
self.set_uid(instance_pk)
self.save_on_success = False self.save_on_success = False
try: try:
instance: BlueprintInstance = BlueprintInstance.objects.filter(pk=instance_pk).first() instance: BlueprintInstance = BlueprintInstance.objects.filter(pk=instance_pk).first()
self.set_uid(slugify(instance.name))
if not instance or not instance.enabled: if not instance or not instance.enabled:
return return
blueprint_content = instance.retrieve() blueprint_content = instance.retrieve()