konova/konova/utils/quality.py
mpeltriaux 4c7efdb800 #36 Quality checks
* moves geometry check logic to upper class
2021-10-25 13:21:27 +02:00

47 lines
1.1 KiB
Python

"""
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}")
def _check_geometry(self):
""" Checks on the geometry
Returns:
"""
try:
geometry_obj = self.obj.geometry
if geometry_obj.geom.empty:
self._add_missing_attr_name(_("Geometry"))
except AttributeError:
self._add_missing_attr_name(_("Geometry"))