| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- '''
- @author: olivier.massot, 2018
- '''
- VALIDATION_ERROR_LEVELS = {10: "MINEURE", 20: "AVERTISSEMENT", 30: "ERREUR", 40: "CRITIQUE"}
- MINOR = 10
- WARNING = 20
- ERROR = 30
- CRITICAL = 40
- class BaseValidationError():
- order_ = 0
- name = "Erreur"
- level = ERROR
- help = ""
- def __init__(self, message, layername="", field=""):
- self.message = message
- self.layername = layername
- self.field = field
-
- def __repr__(self):
- return " - ".join(filter(None, [self.name, self.layername, self.field, self.message]))
- # Erreurs dans le chargement des couches
- class InputError(BaseValidationError):
- order_ = 0
- level = CRITICAL
- name = "Erreur de chargement"
- class MissingLayer(InputError):
- order_ = 1
- name = "Couche Manquante"
-
- class WrongSrid(InputError):
- order_ = 3
- name = "Mauvais SRID"
- ### Erreurs dans la structure des données
- class StructureError(BaseValidationError):
- order_ = 10
- name = "Erreur de structure"
- level = ERROR
-
- class GeomTypeError(StructureError):
- order_ = 12
- name = "Type de géométrie invalide"
- level = CRITICAL
-
- class BoundingBoxError(StructureError):
- order_ = 11
- name = "Coordonnées hors de la zone autorisée"
-
- class InvalidGeometry(StructureError):
- order_ = 13
- name = "Géométrie invalide"
-
- class DataError(StructureError):
- order_ = 14
- name = "Erreur de format"
- # Erreurs dans le contenu, erreurs métiers
- class TechnicalValidationError(BaseValidationError):
- order_ = 20
- level = ERROR
- name = "Erreur technique"
- class UniqueError(TechnicalValidationError):
- order_ = 21
- name = "Doublons dans le champs"
- class RelationError(TechnicalValidationError):
- order_ = 22
- level = CRITICAL
- name = "Un objet lié n'existe pas"
- class DuplicatedGeom(TechnicalValidationError):
- order_ = 23
- name = "Doublon graphique"
- class MissingItem(TechnicalValidationError):
- order_ = 24
- name = "Elément manquant"
- class DimensionError(TechnicalValidationError):
- order_ = 25
- name = "Elément de dimension"
- class PositionError(TechnicalValidationError):
- order_ = 26
- name = "Erreur de positionnement"
|