| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- '''
- @author: olivier.massot, 2018
- '''
- VALIDATION_ERROR_LEVELS = {10: "MINEURE", 20: "ATTENTION", 30: "ERREUR", 40: "CRITIQUE"}
- MINOR = 10
- WARNING = 20
- ERROR = 30
- CRITICAL = 40
- ### Vérifications générales
- # Fichiers présents
- # Fichiers lisibles
- # SRID
- #### Schéma de données
- # Présence des champs
- # Type de données
- # Données obligatoires
- # Valeurs autorisées
- # Emprise géographique
- # Type de géométrie
- ####
- # Unicité des codes
- # Vérification de la présence dans la base des code existants, et si exsitence, vérifie s'il s'agit du même
- # Vérification des cardinalités
- # filename, fieldname, record_id,
- class BaseValidationError():
- name = "Erreur"
- level = ERROR
- help = ""
- def __init__(self, message, filename="", field="", index=""):
- self.message = message
- self.filename = filename
- self.field = field
-
- def __repr__(self):
- return " - ".join(filter(None, [self.name, self.filename, self.field, self.message]))
- # Erreurs dans le chargement des fichiers
- class MissingFile(BaseValidationError):
- level = CRITICAL
- name = "Fichier Manquant"
-
- class UnreadableFile(BaseValidationError):
- level = CRITICAL
- name = "Fichier Illisible"
- class WrongSrid(BaseValidationError):
- level = CRITICAL
- name = "Mauvais SRID"
- ### Erreurs dans la structure des données
- class StructureValidationError(BaseValidationError):
- name = "Erreur dans la structure des données"
- level = ERROR
- class MissingField(BaseValidationError):
- name = "Champs manquant"
- level = CRITICAL
- class UnknownField(BaseValidationError):
- name = "Champs inconnu"
- level = CRITICAL
-
- class MissingValue(BaseValidationError):
- name = "Valeur(s) manquante(s)"
- level = ERROR
-
- class FieldTypeError(BaseValidationError):
- name = "Erreur de type"
- level = ERROR
- class TooLong(BaseValidationError):
- name = "Dépassement de taille"
- level = ERROR
-
- class FormatError(BaseValidationError):
- name = "Erreur de format"
- level = ERROR
- class UnauthorizedValue(BaseValidationError):
- name="Valeur non-autorisée"
- level = ERROR
-
- # Erreurs dans le contenu, erreurs métiers
- class TechnicalValidationError(BaseValidationError):
- level = ERROR
- class DuplicatedPk(TechnicalValidationError):
- name = "Doublons dans le champs"
- class RelationError(TechnicalValidationError):
- name = "Un objet lié n'existe pas"
|