validation_errors.py 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. '''
  2. @author: olivier.massot, 2018
  3. '''
  4. VALIDATION_ERROR_LEVELS = {10: "MINEURE", 20: "ATTENTION", 30: "ERREUR", 40: "CRITIQUE"}
  5. MINOR = 10
  6. WARNING = 20
  7. ERROR = 30
  8. CRITICAL = 40
  9. ### Vérifications générales
  10. # Fichiers présents
  11. # Fichiers lisibles
  12. # SRID
  13. #### Schéma de données
  14. # Présence des champs
  15. # Type de données
  16. # Données obligatoires
  17. # Valeurs autorisées
  18. # Emprise géographique
  19. # Type de géométrie
  20. ####
  21. # Unicité des codes
  22. # Vérification de la présence dans la base des code existants, et si exsitence, vérifie s'il s'agit du même
  23. # Vérification des cardinalités
  24. class BaseValidationError():
  25. name = ""
  26. level = 0
  27. def __init__(self, message):
  28. self.message = message
  29. #### Erreurs Critiques
  30. class MissingFile(BaseValidationError):
  31. level = CRITICAL
  32. name = "Fichier Manquant"
  33. class UnreadableFile(BaseValidationError):
  34. level = CRITICAL
  35. name = "Fichier Illisible"
  36. class WrongSrid(BaseValidationError):
  37. level = CRITICAL
  38. name = "Mauvais SRID"
  39. class FieldTypeError(BaseValidationError):
  40. level = CRITICAL
  41. name = "Le champs n'a pas le bon type de donnée"
  42. #### Erreurs
  43. class OutOfBoxCoordinates(BaseValidationError):
  44. level = ERROR
  45. name = "Coordonnées hors de la zone autorisée"
  46. class FormatError(BaseValidationError):
  47. level = ERROR
  48. name = "Le champs n'a pas le bon format"
  49. class MissingValueError(BaseValidationError):
  50. level = ERROR
  51. name = "Le champs doit être renseigné"
  52. class FieldValueError(BaseValidationError):
  53. level = ERROR
  54. name = "La valeur du champs est invalide"
  55. #### Avertissements
  56. #### Erreurs mineures