MTES-MCT / metadata-postgresql

Plume : gestion des métadonnées du patrimoine PostgreSQL
https://mtes-mct.github.io/metadata-postgresql/
GNU Affero General Public License v3.0
1 stars 1 forks source link

Coquilles dans l'implémentation des validateurs basés sur des expressions rationnelles #6

Closed alhyss closed 2 years ago

alhyss commented 2 years ago

... dont je suis absolument responsable, c'est moi qui ai fait l'erreur dans la doc, et nous n'avions jamais testé ça car les seules expressions rationnelles que j'avais définies étaient pour les dates (et ne servent finalement pas, puisque tu as réussi à régler le problème des dates nulles dans les QDateEdit).

Alors que je réfléchissais à la meilleure manière de gérer les valeurs de type xsd:duration, j'ai fait quelques essais avec masques de saisie et expressions rationnelles, et je me suis rendu compte que les secondes faisaient planter Plume.

Il y a deux choses, en fait :

Dans plume.bibli_gene_objets.generationObjets, ça donnerait donc plutôt quelque chose de ce genre (ajout de la condition à la quatrième ligne + correction de la coquille sur la dernière ligne, le reste est inchangé) :

       #QRegularExpression                        
       if _valueObjet['regex validator pattern'] != None :
          re = QRegularExpression(_valueObjet['regex validator pattern'])
          if _valueObjet['regex validator flags']:
              if "i" in _valueObjet['regex validator flags']:
                 re.setPatternOptions(QRegularExpression.CaseInsensitiveOption)
              if "s" in _valueObjet['regex validator flags']:
                 re.setPatternOptions(QRegularExpression.DotMatchesEverythingOption)
              if "m" in _valueObjet['regex validator flags']:
                 re.setPatternOptions(QRegularExpression.MultilineOption)
              if "x" in _valueObjet['regex validator flags']:
                 re.setPatternOptions(QRegularExpression.ExtendedPatternSyntaxOption)
          _mObjetQSaisie.setValidator(QRegularExpressionValidator(re, _mObjetQSaisie))

Au final, on n'utilise toujours rien de ça pour le moment, car je suis partie sur autre chose pour les xsd:duration, mais autant que ce soit propre. J'ai évidemment corrigé dans la doc.

WREATCHED commented 2 years ago

OK, Implémenté dans les sources de generationObjets ligne 168