|
@@ -18,7 +18,10 @@ from core.constants import MAIN
|
|
|
logger = logging.getLogger("datachecker")
|
|
logger = logging.getLogger("datachecker")
|
|
|
logconf.start("datachecker", logging.INFO)
|
|
logconf.start("datachecker", logging.INFO)
|
|
|
|
|
|
|
|
-# TODO Vérifier la projection (besoin de GDAL/OGR)
|
|
|
|
|
|
|
+# TODO: Vérifier la projection (besoin de GDAL/OGR)
|
|
|
|
|
+# TODO: max length
|
|
|
|
|
+# TODO: fonctions de controle spéciales
|
|
|
|
|
+# TODO: Rendu HTML
|
|
|
|
|
|
|
|
def check(subject, checker):
|
|
def check(subject, checker):
|
|
|
""" prends un dossier ou une archive en entier et vérifie son contenu selon les règles données par le fichier de config """
|
|
""" prends un dossier ou une archive en entier et vérifie son contenu selon les règles données par le fichier de config """
|
|
@@ -133,7 +136,12 @@ def check_folder(folder, checker):
|
|
|
if not fieldmodel.get("allow_empty", False) and not val:
|
|
if not fieldmodel.get("allow_empty", False) and not val:
|
|
|
logger.error("%s - Champs vide", fieldname)
|
|
logger.error("%s - Champs vide", fieldname)
|
|
|
continue
|
|
continue
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
|
|
+ if type_ == "str" and "max_len" in fieldmodel:
|
|
|
|
|
+ if len(str(val)) > fieldmodel["max_len"]:
|
|
|
|
|
+ logger.error("%s - Trop long, la longueur max. est de %s ('%s')", fieldname, fieldmodel["max_len"], val)
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
try:
|
|
try:
|
|
|
if not val in fieldmodel["in_list"]:
|
|
if not val in fieldmodel["in_list"]:
|
|
|
logger.error("%s - Valeur invalide, pas dans la liste ('%s')", fieldname, val)
|
|
logger.error("%s - Valeur invalide, pas dans la liste ('%s')", fieldname, val)
|