From 1438cf4e899d58e6afc04e7889ef660b80f34ca4 Mon Sep 17 00:00:00 2001 From: mpeltriaux Date: Tue, 21 Feb 2023 08:03:56 +0100 Subject: [PATCH] Deployment preparation * adds unrecording to invalid entries * reduces quality check runs on entries of interest (compensations) --- .../commands/quality_check_recorded.py | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/konova/management/commands/quality_check_recorded.py b/konova/management/commands/quality_check_recorded.py index 242ce07..e141381 100644 --- a/konova/management/commands/quality_check_recorded.py +++ b/konova/management/commands/quality_check_recorded.py @@ -12,6 +12,7 @@ from ema.utils.quality import EmaQualityChecker from intervention.models import Intervention from intervention.utils.quality import InterventionQualityChecker from konova.management.commands.setup import BaseKonovaCommand +from user.models import User class Command(BaseKonovaCommand): @@ -38,13 +39,20 @@ class Command(BaseKonovaCommand): self.__ema = Ema.objects.filter(**_filter) def perform_quality_check(self): + """ Performs quality check and unrecords failing entries + + """ + _runs = [ - (self.__interventions, InterventionQualityChecker), + #(self.__interventions, InterventionQualityChecker), (self.__compensations, CompensationQualityChecker), - (self.__ecoaccount, EcoAccountQualityChecker), - (self.__ema, EmaQualityChecker), + #(self.__ecoaccount, EcoAccountQualityChecker), + #(self.__ema, EmaQualityChecker), ] - eivs = set() + invalid_entries = set() + admin_user = User.objects.get( + username="kspRoot" + ) for run in _runs: entries = run[0] CheckerClass = run[1] @@ -52,7 +60,7 @@ class Command(BaseKonovaCommand): checker = CheckerClass(entry) checker.run_check() if not checker.valid and CheckerClass is CompensationQualityChecker: - eivs.add(entry.intervention.identifier) - #self._write_error(f"{entry.identifier};{';'.join(str(msg) for msg in checker.messages)}") - for eiv in eivs: - self._write_warning(eiv) + invalid_entries.add(entry.intervention) + for e in invalid_entries: + e.set_unrecorded(user=admin_user) + self._write_warning(e.identifier)