Projet

Général

Profil

Bug #18814

template_on_formdata appelé sur chaque variable lors de la création d'odt

Ajouté par Thomas Noël il y a plus de 6 ans. Mis à jour il y a plus de 5 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
20 septembre 2017
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:

Description

Dans wcs/wf/export_to_model.py :

            def process_text(t):
                if isinstance(t, unicode):
                    t = t.encode(get_publisher().site_charset)
                t = template_on_formdata(formdata, t)
                return unicode(t, get_publisher().site_charset)
            for node in root.iter():

est appelé pour chaque variable repérée, et donc on recalcule les variables du formulaire à chaque fois, et ce calcul est couteux. Sur un "gros" document avec un beaucoup de variables à remplacer, le traitement dépasse 30 secondes, et ça débouche sur une 502.


Fichiers

Révisions associées

Révision 64515dde (diff)
Ajouté par Thomas Noël il y a plus de 6 ans

workflows: compute formdata variables only once in odt (#18814)

Historique

#2

Mis à jour par Thomas Noël il y a plus de 6 ans

  • Assigné à mis à Thomas Noël
#3

Mis à jour par Thomas Noël il y a plus de 6 ans

#4

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

Un test avec un mock sur get_context_variables() pour compter le nombre de fois où c'est appelé ?

#5

Mis à jour par Thomas Noël il y a plus de 6 ans

Voilà, c'est le plus joli test que j'ai réussi à faire... avant le patch il ne passe pas, parce que le premier mock crashe ; quand on retire ce premier mock on voit bien les 6 appels sur get_formdata_template_context, qui passe donc à 0 désormais.

#6

Mis à jour par Benjamin Dauvergne il y a plus de 6 ans

Ack.

#7

Mis à jour par Thomas Noël il y a plus de 6 ans

  • Statut changé de En cours à Résolu (à déployer)
commit 64515ddef32b5baf3fa76349c650e3024a84daab (HEAD -> master)
Author: Thomas NOEL <tnoel@entrouvert.com>
Date:   Wed Sep 20 14:41:27 2017 +0200

    workflows: compute formdata variables only once in odt (#18814)

#8

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

  • Statut changé de Résolu (à déployer) à Solution déployée

Formats disponibles : Atom PDF