Development #35202
confusion de classe sur les fichiers uploadés
Début:
02 août 2019
Echéance:
% réalisé:
0%
Temps estimé:
Patch proposed:
Oui
Planning:
Non
Description
Selon l'endroit où ils sont créés et/ou d'autres critères, on peut avoir comme classe wcs.qommon.form.PicklableUpload ou qommon.form.PicklableUpload, ce qui à l'œil de isinstance() n'est pas la même chose.
Fichiers
Révisions associées
Historique
Mis à jour par Frédéric Péters il y a plus de 4 ans
- Fichier 0001-misc-use-class-name-to-check-for-uploads-attachments.patch 0001-misc-use-class-name-to-check-for-uploads-attachments.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Voilà le patch bête.
Alternativement il devrait y avoir moyen de forcer lors de l'unpickling pour que ça soit toujours le même module, quelque chose comme :
@@ -54,6 +54,8 @@ class UnpicklerClass(pickle.Unpickler): def find_class(self, module, name): if module == 'wcs.form': module = 'qommon.form' + if module == 'wcs.qommon.form': + module = 'qommon.form' __import__(module) mod = sys.modules[module]
mais je n'ai pas testé cette piste.
Mis à jour par Thomas Noël il y a plus de 4 ans
- Statut changé de Solution proposée à Résolu (à déployer)
commit e7dc567e5a2720add304cef4c1a2f47201b60a72 Author: Frédéric Péters <fpeters@entrouvert.com> Date: Fri Aug 2 09:43:29 2019 +0200 misc: use class name to check for uploads/attachments when cleaning (#35202)
Je me suis permis d'ajouter un commentaire
+ def is_upload(obj): + # we can't use isinstance() because obj can be a + # wcs.qommon.form.PicklableUpload or a qommon.form.PicklableUpload + return obj.__class__.__name__ == 'PicklableUpload'
(et tant pis si c'est pas de l'anglais correct)
Mis à jour par Frédéric Péters il y a plus de 4 ans
- Statut changé de Résolu (à déployer) à Solution déployée
misc: use class name to check for uploads/attachments when cleaning (#35202)