#36 Quality checks

* adds AbstractQualityChecker as base for all quality checker instances
* adds InterventionQualityChecker, inheriting from AbstractQualityChecker
* adds functionality to InterventionQualityChecker
* adds/updates translations
This commit is contained in:
2021-10-25 13:06:54 +02:00
parent e2409fdbde
commit a5b1f68f62
6 changed files with 272 additions and 382 deletions

34
konova/utils/quality.py Normal file
View File

@@ -0,0 +1,34 @@
"""
Author: Michel Peltriaux
Organization: Struktur- und Genehmigungsdirektion Nord, Rhineland-Palatinate, Germany
Contact: michel.peltriaux@sgdnord.rlp.de
Created on: 25.10.21
"""
from abc import abstractmethod
from django.utils.translation import gettext_lazy as _
from konova.models import BaseObject
class AbstractQualityChecker:
valid = False
messages = []
obj = None
class Meta:
abstract = True
def __init__(self, obj: BaseObject):
self.obj = obj
self.messages = []
self.valid = False
@abstractmethod
def run_check(self):
raise NotImplementedError
def _add_missing_attr_name(self, attr_name: str):
missing = _('missing')
self.messages.append(f"{attr_name} {missing}")