فهرست منبع

Fichier de config 2.2 ok (sauf conditions spéciales)

olivier.massot 7 سال پیش
والد
کامیت
ba9df004e0
2فایلهای تغییر یافته به همراه355 افزوده شده و 5 حذف شده
  1. 7 2
      main.py
  2. 348 3
      resources/netgeo_v2-2_doe.yaml

+ 7 - 2
main.py

@@ -19,7 +19,6 @@ logger = logging.getLogger("datachecker")
 logconf.start("datachecker", logging.INFO)
 
 # TODO: Vérifier la projection (besoin de GDAL/OGR)
-# TODO: max length
 # TODO: fonctions de controle spéciales
 # TODO: Rendu HTML 
 
@@ -120,7 +119,13 @@ def check_folder(folder, checker):
                     continue
                 
                 type_ = fieldmodel.get("type", "str")
-                if type_ == "float":
+                if type_ == "int":
+                    try:
+                        _ = int(val)
+                    except (TypeError, ValueError):
+                        logger.error("%s - Valeur invalide, un entier est attendu ('%s')", fieldname, val)
+                        continue
+                elif type_ == "float":
                     try:
                         _ = float(val)
                     except (TypeError, ValueError):

+ 348 - 3
resources/netgeo_v2-2_doe.yaml

@@ -7,16 +7,349 @@ srid: 3949
 files:
   "artere_geo.shp":
     shape_type: 3
-    
+    fields:
+      AR_CODE:
+        type: str
+        max_len: 26
+      AR_NOM:
+        type: str
+        max_len: 26
+      AR_ID_INSE:
+        type: str
+        max_len: 5
+      AR_LONG:
+        type: float
+      AR_ETAT:
+        type: str
+        in_list: ["0", "1", "2", "3", "4"]
+      AR_OCCP:
+        type: str
+        in_list: ["0", "1.1", "1.2", "2", "3", "4"]
+      AR_NOEUD_A:
+        type: str
+        max_len: 20
+      AR_NOEUD_B:
+        type: str
+        max_len: 20
+      AR_NB_FOUR:
+        type: str
+        max_len: 20
+      AR_FOU_DIS:
+        type: int
+      AR_TYPE_FO:
+        type: str
+        in_list: ["PVC", "PEHD", "SOUS-TUBAGE PEHD", "SOUS-TUBAGE  SOUPLE", "FACADE", "AERIEN", "ENCORBELLEMENT", "AUTRE"]
+      AR_TYFO_AI:
+        type: str
+        in_list: ["PVC", "PEH", "TUB", "FAC", "ENC", "APP"]
+      AR_DIAM_FO:
+        type: str
+        in_list: ["10", "14", "18", "25", "28", "32", "40", "45", "60", "NUL"]
+      AR_PRO_FOU:
+        type: str
+        in_list: ["MANCHE NUMERIQUE", "COLLECTIVITE", "ORANGE", "AUTRE (à préciser)"]
+      AR_FAB:
+        type: str
+        max_len: 100
+      AR_REFFAB:
+        type: str
+        max_len: 100
+      AR_COULEUR:
+        type: str
+        max_len: 20
+      AR_AIGUIL:
+        type: str
+        in_list: ["OUI", "NON"]
+      AR_NBCABL:
+        type: int
+      AR_PRO_CAB:
+        type: str
+        in_list: ["MANCHE NUMERIQUE"]
+      AR_GEST_FO:
+        type: str
+        in_list: ["MANCHE NUMERIQUE", "MANCHE TELECOM", "COLLECTIVITE", "ORANGE", "AUTRE (à préciser)", "NUL"]
+      AR_UTIL_FO:
+        type: str
+        in_list: ["MANCHE NUMERIQUE", "MANCHE TELECOM", "COLLECTIVITE", "ORANGE", "MANCHE FIBRE", "AUTRE (à préciser)", "NUL"]
+      AR_DATE_IN:
+        type: datetime
+        date_format: "%d/%m/%Y"
+      AR_DATE_RE:
+        type: datetime
+        date_format: "%d/%m/%Y"
+      AR_REF_PLA:
+        type: str
+        max_len: 100
+      AR_SRC_GEO:
+        type: str
+        max_len: 50
+      AR_QLT_GEO:
+        type: str
+        in_list: ["A", "B", "C"]
+      AR_PRO_MD:
+        type: str
+        in_list: ["MANCHE NUMERIQUE"]
+      AR_COMMENT:
+        type: str
+        max_len: 300
+        allow_empty: True
+      AR_STATUT:
+        type: str
+        in_list: ["EN ETUDE", "EN REALISATION", "EN SERVICE", "HORS SERVICE"]
+
   "cable_geo.shp":
     shape_type: 3
+    fields:
+      CA_CODE:
+        type: str
+        max_len: 18
+      CA_NOM:
+        type: str
+        max_len: 18
+      CA_NUMERO:
+        type: str
+        max_len: 17
+      CA_EMPRISE:
+        type: str
+        max_len: 10
+      CA_FAB:
+        type: str
+        max_len: 100
+      CA_REFFAB:
+        type: str
+        max_len: 100
+      CA_MODELE:
+        type: str
+        max_len: 10
+      CA_TYPE:
+        type: str
+        max_len: 10
+        in_list: ["AERIEN", "IMMEUBLE", "FACADE", "MIXTE", "SOUTERRAIN"]
+      CA_TYPFCT:
+        type: str
+        max_len: 3
+        in_list: ["CDI", "CTR", "CBM", "RAC", "CBO"]
+      CA_ETAT:
+        type: str
+        max_len: 1
+        in_list: ["0", "1", "2", "3", "4"]
+      CA_LONG:
+        type: float
+      CA_EQ_A:
+        type: str
+        max_len: 18
+      CA_EQ_B:
+        type: str
+        max_len: 18
+      CA_DIAMETR:
+        type: int
+      CA_COULEUR:
+        type: str
+        max_len: 20
+        in_list: ["NOIR", "BLEU", "BLANC"]
+      CA_TECHNOL:
+        type: str
+        max_len: 17
+        in_list: ["G657A2_M6", "G657A2_M12"]
+      A_NB_FO_U:
+        type: int
+      CA_NB_FO_D:
+        type: int
+      CA_PRO:
+        type: str
+        max_len: 20
+        in_list: ["MANCHE NUMERIQUE"]
+      CA_GEST:
+        type: str
+        max_len: 20
+        in_list: ["NUL"]
+      CA_DATE_IN:
+        type: datetime
+        date_format: "%d/%m/%Y"
+      CA_COMMENT:
+        type: str
+        max_len: 300
+        allow_empty: True
+      CA_STATUT:
+        type: str
+        max_len: 14
+        in_list: ["EN ETUDE", "EN REALISATION", "EN SERVICE", "HORS SERVICE"]
     
   "equipement_passif.shp":
     shape_type: 1
+    fields:
+      EQ_CODE:
+        type: str
+        max_len: 18
+      EQ_NOM:
+        type: str
+        max_len: 18
+      EQ_NOM_NOE:
+        type: str
+        max_len: 14
+      EQ_REF:
+        type: str
+        max_len: 100
+      EQ_EMPRISE:
+        type: str
+        max_len: 7
+      EQ_FABR:
+        type: str
+        max_len: 100
+      EQ_CAPFO:
+        type: int
+      EQ_NBMXEQ:
+        type: int
+      EQ_NBCAB:
+        type: int
+      EQ_DIMENS:
+        type: str
+        max_len: 50
+      EQ_TYPEQ:
+        type: str
+        max_len: 100
+      EQ_ETAT:
+        type: str
+        max_len: 1
+        in_list: ["0", "1", "2", "3", "4"]
+      EQ_OCCP:
+        type: str
+        max_len: 3
+        in_list: ["0", "1.1", "1.2", "2", "3", "4"]
+      EQ_TYPE:
+        type: str
+        max_len: 3
+        in_list: ["PBO", "PEC", "BPE", "BAI"]
+      EQ_TYPSTRC:
+        type: str
+        max_len: 16
+        in_list: ["CHAMBRE", "AERIEN", "FACADE", "COLONNE MONTANTE", "PIED IMMEUBLE", "DTIO"]
+      EQ_TYPE_LQ:
+        type: str
+        max_len: 6
+        in_list: ["PBO", "BPE JB", "BPE JD", "BAIDC", "BAIOP"]
+      EQ_TYPE_PH:
+        type: str
+        max_len: 24
+        in_list: ["PBO 6", "PBO 12", "BPE 12EP", "BPE 24EP", "BPE 48EP", "BPE 72EP", "BPE 96EP", "BPE 144EP", "BPE 288EP", "BPE 576EP", "BPE 720EP"]
+      EQ_PRO:
+        type: str
+        max_len: 20
+        in_list: ["MANCHE NUMERIQUE", "COLLECTIVITE", "ORANGE", "AUTRE (à préciser)", "NUL"]
+      EQ_GEST:
+        type: str
+        max_len: 20
+        in_list: ["MANCHE NUMERIQUE", "MANCHE TELECOM", "COLLECTIVITE", "ORANGE", "MANCHE FIBRE", "AUTRE (à préciser)", "NUL"]
+      EQ_HAUT:
+        type: float
+      EQ_DATE_IN:
+        type: datetime
+        date_format: "%d/%m/%Y"
+      EQ_COMMENT:
+        type: str
+        max_len: 300
+        allow_empty: True
+      EQ_STATUT:
+        type: str
+        max_len: 14
+        in_list: ["EN ETUDE", "EN REALISATION", "EN SERVICE", "HORS SERVICE"]
     
   "noeud_geo.shp":
     shape_type: 1
-    
+    fields:
+      NO_CODE:
+        type: str
+        max_len: 18
+      NO_ID_INSE:
+        type: str
+        max_len: 5
+      NO_NOM:
+        type: str
+        max_len: 20
+      NO_VOIE:
+        type: str
+        max_len: 100
+      NO_EMPRISE:
+        type: str
+        max_len: 10
+      NO_ETAT:
+        type: str
+        max_len: 1
+        in_list: ["0", "1", "2", "3", "4"]
+      NO_OCCP:
+        type: str
+        max_len: 3
+        in_list: ["0", "1.1", "1.2", "2", "3", "4"]
+      NO_TYPE:
+        type: str
+        max_len: 3
+        in_list: ["CHA", "POT", "LTE", "SEM", "FAC", "OUV", "IMM"]
+      NO_TYPFCT:
+        type: str
+        max_len: 14
+        in_list: ["INTERCONNEXION", "SATELLITE", "PASSAGE", "REGARD", "INDETERMINE"]
+      NO_TYPE_LQ:
+        type: str
+        max_len: 10
+        in_list: ["CHTIR", "CHRACC", "POT", "NRO", "PM", "MIMO", "FAC", "OUV", "IMM"]
+      NO_TYPE_PH:
+        type: str
+        max_len: 20
+        in_list: ["CHAMBRE", "POTEAU", "ARMOIRE", "SHELTER", "BATIMENT", "SITE MIMO", "FACADE", "OUVRAGE", "IMMEUBLE"]
+      NO_CODE_PH:
+        type: str
+        max_len: 20
+      NO_TECH_PS:
+        type: str
+        max_len: 4
+        in_list: ["COAX", "CUT", "ECL", "ELEC", "VP", "OPT", "NC"]
+      NO_AMO:
+        type: str
+        max_len: 20
+      NO_PLINOX:
+        type: str
+        max_len: 3
+        in_list: ["OUI", "NON"]
+      NO_X:
+        type: float
+      NO_Y:
+        type: float
+      NO_PRO:
+        type: str
+        max_len: 20
+        in_list: ["MANCHE NUMERIQUE", "COLLECTIVITE", "ORANGE", "ERDF", "AUTRE (à préciser)", "NUL"]
+      NO_GEST:
+        type: str
+        max_len: 20
+        in_list: ["MANCHE NUMERIQUE", "MANCHE TELECOM", "COLLECTIVITE", "ORANGE", "ERDF", "MANCHE FIBRE", "AUTRE (à préciser)", "NUL"]
+      NO_HAUT:
+        type: float
+      NO_DATE_IN:
+        type: datetime
+        date_format: "%d/%m/%Y"
+      NO_REF_PLA:
+        type: str
+        max_len: 100
+      NO_SRC_GEO:
+        type: str
+        max_len: 50
+      NO_QLT_GEO:
+        type: str
+        max_len: 1
+        in_list: ["A", "B", "C"]
+      NO_PRO_MD:
+        type: str
+        max_len: 20
+        in_list: ["MANCHE NUMERIQUE"]
+      NO_COMMENT:
+        type: str
+        max_len: 300
+        allow_empty: True
+      NO_STATUT:
+        type: str
+        max_len: 14
+        in_list: ["EN ETUDE", "EN REALISATION", "EN SERVICE", "HORS SERVICE"]
+      
   "site_geo.shp":
     shape_type: 1
     
@@ -80,7 +413,7 @@ files:
         max_len: 50
       TR_QLT_GEO:
         type: str
-        max_len: 1
+        in_list: ["A", "B", "C"]
       TR_PRO_MD:
         type: str
         max_len: 20
@@ -94,3 +427,15 @@ files:
         
   "zapbo_geo.shp":
     shape_type: 5
+    fields:
+      ID_ZAPBO:
+        type: str
+        max_len: 10
+      COMMENTAIR:
+        type: str
+        max_len: 254
+        allow_empty: True
+      STATUT:
+        type: str
+        in_list: ["EN ETUDE", "EN REALISATION", "EN SERVICE", "HORS SERVICE"]
+