Przeglądaj źródła

Corrections diverses

omassot 7 lat temu
rodzic
commit
4a9a3e4175
3 zmienionych plików z 16 dodań i 25 usunięć
  1. 5 12
      core/mncheck.py
  2. 7 7
      schemas/mn1_rec.py
  3. 4 6
      ui/dlg_main.py

+ 5 - 12
core/mncheck.py

@@ -49,24 +49,17 @@ class QgsModel():
     def __init__(self, qgs_feature):
         self._feature = qgs_feature
         
-        self.__dict__.update(self.attributes())
-        
-    @staticmethod
-    def _clean_attr(self, value=None):
-        if isinstance(value, QVariant):
-            return value.value() if not value.isNull() else ""
-        elif value is None:
-            return ""
-        else:
-            return value
+        for attr, value in self.attributes().items():
+            if isinstance(value, QVariant):
+                value = value.value() if not value.isNull() else ""
+            setattr(self, attr, value)
     
     @property
     def feature(self):
         return self._feature
     
     def attributes(self):
-        return dict(zip([f.name() for f in self._feature.fields()], 
-                        [QgsModel._clean_attr(a) for a in self._feature.attributes()]))
+        return dict(zip([f.name() for f in self._feature.fields()], self._feature.attributes()))
     
     @property
     def geom(self):

+ 7 - 7
schemas/mn1_rec.py

@@ -53,7 +53,7 @@ class Artere(QgsModel):
               'AR_STATUT': {'type': 'string', 'empty': False, 'allowed': ['APS', 'APD', 'EXE', 'REC']}}
     
     def __repr__(self):
-        return "Artere {}-{}".format(self.AR_NOEUD_A, self.AR_NOEUD_B)
+        return f"Artere {self.AR_NOEUD_A}-{self.AR_NOEUD_B}"
 
 class Cable(QgsModel):
     layername = "cable_geo"
@@ -80,7 +80,7 @@ class Cable(QgsModel):
               'CA_STATUT': {'type': 'string', 'maxlength': 14, 'empty': False, 'allowed': ['APS', 'APD', 'EXE', 'REC']}}
 
     def __repr__(self):
-        return "Cable {}-{}".format(self.CA_EQ_A, self.CA_EQ_B)
+        return f"Cable {self.CA_EQ_A}-{self.CA_EQ_B}"
     
 class Equipement(QgsModel):
     layername = "equipement_passif"
@@ -103,7 +103,7 @@ class Equipement(QgsModel):
               'EQ_STATUT': {'type': 'string', 'maxlength': 14, 'empty': False, 'allowed': ['APS', 'APD', 'EXE', 'REC']}}
         
     def __repr__(self):
-        return "Equipement {}".format(self.EQ_NOM)
+        return f"Equipement {self.EQ_NOM}"
 
 class Noeud(QgsModel):
     layername = "noeud_geo"
@@ -137,7 +137,7 @@ class Noeud(QgsModel):
               'NO_STATUT': {'type': 'string', 'maxlength': 14, 'empty': False, 'allowed': ['APS', 'APD', 'EXE', 'REC']}}
 
     def __repr__(self):
-        return "Noeud {}".format(self.NO_NOM)
+        return f"Noeud {self.NO_NOM}"
     
 class Tranchee(QgsModel):
     layername = "tranchee_geo"
@@ -166,7 +166,7 @@ class Tranchee(QgsModel):
               'TR_STATUT': {'type': 'string', 'empty': False, 'allowed': ['APS', 'APD', 'EXE', 'REC']}}
 
     def __repr__(self):
-        return "Tranchee {}".format(self.TR_VOIE)
+        return f"Tranchee {self.TR_VOIE}"
     
 class Zapbo(QgsModel):
     layername = "zapbo_geo"
@@ -179,7 +179,7 @@ class Zapbo(QgsModel):
               'STATUT': {'type': 'string', 'empty': False, 'allowed': ['APS', 'APD', 'EXE', 'REC']}}
     
     def __repr__(self):
-        return "Zapbo {}".format(self.ID_ZAPBO)
+        return f"Zapbo {self.ID_ZAPBO}"
     
 
 models = [Artere, Cable, Equipement, Noeud, Tranchee, Zapbo]
@@ -230,7 +230,7 @@ class Mn1Checker(BaseChecker):
         v = CerberusValidator(model.schema, purge_unknown=True, error_handler=CerberusErrorHandler, require_all=True)
         
         for item in items:
-            v.validate(item.attributes())
+            v.validate(item.__dict__)
             
             for field, verrors in v.errors.items():
                 for err in verrors:

+ 4 - 6
ui/dlg_main.py

@@ -141,8 +141,6 @@ class DlgMain(QtWidgets.QDialog):
             for err in result.errors:
                 erritem = QTreeWidgetItem()
                 
-                
-                
                 msg = err.message
                 data = None
                 
@@ -152,11 +150,11 @@ class DlgMain(QtWidgets.QDialog):
                     
                 elif "model" in err.info:
                     data = err.info["model"]
-                    msg = f"{data.layername} : {msg}"
+                    msg = f"{data.layername} - {msg}"
                     
                 elif "item" in err.info:
                     data = err.info["item"]
-                    msg = f"{data} : {msg}"
+                    msg = f"{data} - {msg}"
                 
                 erritem.setText(1, msg)
                 erritem.setData(1, Qt.UserRole, data)
@@ -167,11 +165,11 @@ class DlgMain(QtWidgets.QDialog):
         
         data = item.data(1, Qt.UserRole)
         
-        print(type(data), data)
-        
         if not data:
             return
         
+        logger.debug("error clicked (data: %s)", data)
+        
         if hasattr(data, "_feature"):
             self.zoom_to_feature(data.layer, data._feature)