47 lines
1.1 KiB
Python
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"))
|