Projet

Général

Profil

Development #35202

confusion de classe sur les fichiers uploadés

Ajouté par Frédéric Péters il y a plus de 4 ans. Mis à jour il y a plus de 4 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
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

Révision e7dc567e (diff)
Ajouté par Frédéric Péters il y a plus de 4 ans

misc: use class name to check for uploads/attachments when cleaning (#35202)

Historique

#1

Mis à jour par Frédéric Péters il y a plus de 4 ans

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.

#3

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)

#4

Mis à jour par Frédéric Péters il y a plus de 4 ans

nickel.

#5

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

Formats disponibles : Atom PDF