Project

General

Profile

Development #66565

Snapshot: faire un diff de l'inspect

Added by Lauréline Guerin 10 days ago. Updated 6 days ago.

Status:
Solution proposée
Priority:
Normal
Target version:
-
Start date:
23 Jun 2022
Due date:
% Done:

0%

Estimated time:
Patch proposed:
Yes
Planning:
No

Description

Dans #58798 on notait: "Dans un second temps (autre ticket), ajouter le diff de la page inspect"

Après la sélection des deux versions à comparer, pouvoir basculer du mode xml actuel (diff des xml), au mode "inspect" (lorsque le type d'objet a une page inspect), qui compare les pages inspect des deux versions.


Files

History

#2

Updated by Lauréline Guerin 9 days ago

#5

Updated by Lauréline Guerin 6 days ago

Render de l'inspect de 2 versions, et comparaison des résultats avec lxml.html.diff.htmldiff.
(dep lxml ajoutée dans le setup et dans debian/control, comme vu sur d'autres modules)

Utilisation de pyquery pour parcourir le résultat des inspect et en sortir les onglets, et les panels.
(je l'ai ajouté dans le setup, ça suffit ?)

Les onglets: pour un workflow, on n'a pas toujours la même liste d'onglets présentée, ça dépend de la config du workflow. Du coup, comparaison des deux listes (v1, v2), et merge des deux (en prenant comme ordering de référence l'ordering des panels associés).

Les panels: le diff est fait sur le contenu des panels. Petite fonction locale pour corriger le résultat:
  • htmldiff ajoute un "Link: <href>" au texte d'une balise a; nettoyage
  • suppression des balises ins/del vides (parce que parfois htmldiff en rajoute entre 2 li, et c'est moche)
  • la méthode html de pyquery a tendance à fermer les balises vides: <span/>, <ul/>, <div/>; ce qui peut péter le rendu de la page. Feinte: injecter un espace.

Also available in: Atom PDF