Closed alhyss closed 2 years ago
Coucou, Oui, la partie heure n'était pas finalisée. donc à revoir. Tout est implémenté dans ma version 0.2.9 Donc, c'est Ok tu peux clore l'issue après avoir testé, je pusse la version 0.2.9 sur le git
Merci @WREATCHED !
Juste un petit oubli. Dans plume.bibli_plume.saveMetaIhm
, tu n'as pas changé le format de sortie pour les dates+heures. II faudrait 'dd/MM/yyyy hh:mm:ss'
comme en entrée au lieu de 'yyyy-MM-dd'
.
OK, je transfère sur le GitHub
Nous avions un peu laissé de côté le cas des catégories prenant pour valeur des dates avec heure, car il n'y en avait pas dans les catégories communes, mais c'est maintenant le cas avec la date de dernière modification des métadonnées.
Pour ce que j'ai pu voir, les valeurs date+heure enregistrées dans les métadonnées ne s'affichent actuellement pas dans les widgets.
La première raison était que tu attendais des valeurs de la forme
'13/02/2022 17:29:13'
alors que la clé'value'
du dictionnaire interne contenait des valeurs date+heure au format ISO ('2022-02-13T17:29:13'
). J'ai modifié ça de mon côté, donc rien à changer ici pour toi.Par contre, je crois qu'il y a de petites corrections à faire dans les parties de
plume.bibli_gene_objets.generationObjets
etplume.bibli_plume.saveMetaIhm
qui s'intéressent aux clés telles que'main widget type'
vaut'QDateTimeEdit'
. Tu confirmeras, mais il faut probablement :plume.bibli_gene_objets.generationObjets
, utiliser la méthodeQDateTimeEdit.setDateTime
au lieu deQDateTimeEdit.setDate
etQDateTime.fromString
au lieu deQDate.fromString
. Dans la version actuelle du Git, c'est aux lignes 311 et 314 de bibli_gene_objets.py.plume.bibli_plume.saveMetaIhm
, utiliserQDateTimeEdit.dateTime
au lieu deQDateTimeEdit.date
. C'est à la ligne 233 de bibli_plume.py.Par ailleurs, est-ce qu'il ne faudrait pas utiliser pour les date+heure la classe
QgsDateTimeEdit
au lieu deQDateTimeEdit
(comme tu l'as fait pour les dates), afin d'avoir une gestion propres des valeurs nulles ?Autre aspect : il est préférable pour moi que les valeurs que tu vas chercher en entrée dans les clés
'value'
du dictionnaire interne et celles que tu fournis en sortie àplume.rdf.widgetsdict.WidgetsDict.update_value
viaplume.bibli_plume.saveMetaIhm
soient de la même forme.Autrement dit, il faudrait sans doute ça :
au lieu de :
(d'ailleurs, dans toute cette partie, est-ce qu'il ne manquerait pas des virgules dans tes tuples -
('QDateTimeEdit',)
au lieu de('QDateTimeEdit')
? Pas que ça fasse de différence en pratique, mais toutes les conditions testent l'inclusion d'une chaîne de caractères dans une autre et non l'inclusion dans une liste, c'est un peu bizarre)De mon côté, j'ai donc écrit des fonctions qui sérialisent et désérialisent les date+heure, et j'en ai profité pour faire de même pour les dates simples (
'main widget type'
valant'QDateEdit'
), car ça permet aussi de s'assurer que les valeurs manipulées sont valides. Et, tant qu'à faire, j'ai calé la forme des dates sur celles des date+heure : tu auras maintenant dans le dictionnaire des dates de la forme'13/02/2022'
, et c'est aussi ce queplume.rdf.widgetsdict.WidgetsDict.update_value
s'attendra à recevoir.Dans
plume.bibli_plume.saveMetaIhm
, ça voudrait dire mettre :au lieu de :
Dans
plume.bibli_gene_objets.generationObjets
(lignes 241 à 251 dans la version du Git), tu devrais pouvoir supprimer la succession detry
/except
:... et utiliser à la place la même instruction que pour les dates+heures :
Comme déjà évoqué, je valide les dates de mon côté, donc tu peux être sûr que si
_valueObjet['value']
n'est pasNone
, c'est une date au format'dd/MM/yyyy'
(soit la valeur de ta variable_displayFormat
).