Sujet sur Discussion utilisateur:Tpt

Reptilien.19831209BE1 (discussioncontributions)

Bonjour,

Je rencontre une bizarrerie avec le nouveau système que je peine à expliquer: cette page se termine bien par un tiret, et cette transclusion réuni les deux parties du mot correctement, mais pas sur cette page.

C'est pareil avec le mot Brouhisse (et bien d'autres) mais bizarrement pas avec Paile ou le mot tumultueux est correctement réuni sur les deux pages (section P).

Une idée ?

Reptilien.19831209BE1 (discussioncontributions)

PS. si je fais <pages index="R.-H.-J. Cambresier - Dictionnaire walon-françois, 1787.djvu" from=146 to=147 fromsection="Ponde" /> ça fonctionne : « le jour ne fait que poindre », si je fais <pages index="R.-H.-J. Cambresier - Dictionnaire walon-françois, 1787.djvu" from=146 to=147 /> ça ne fonctionne plus: « le jour ne fait que poin- dre ».

Reptilien.19831209BE1 (discussioncontributions)

J'ai isolé le bug ici.

Reptilien.19831209BE1 (discussioncontributions)

Bon, je pense que j'ai mis la main sur quelque chose. Lorsqu'il y a des sections dans le wikicode des pages et que je me limite à une transclusion sans faire appel aux sections, le code (ligne 237) fait une concaténation de {{:Page:xxx/n}}{{:Page:xxx/n+1}}[...], ce qui a pour effet de transformer les sections en une séquence unique du genre UNIQ--section-00000001-QINU après être passé par l'analyseur (ligne 329). Du coup c'est logique qu'il ne détecte pas le tiret en fin de page, vu que c'est ladite séquence.

Si je remplace la chaîne de la ligne 237 par {{#lst:' . $text . '}} ça ne fonctionne pas non plus, mais avec {{#lst:' . $text . '|}} ça fonctionne. Il y a très certainement quelque chose de plus propre à faire.

Tpt (discussioncontributions)

Merci d'avoir creusé cela. Une manière de résoudre le problème serait de faire faire à ProofreadPage l'inclusion des pages et des sections "à la main" sans passer par une étape wikitexte comme {{:Page:xxx/n}}{{:Page:xxx/n+1}. On pourrait alors faire la détection de tirets sans problème. Un commentaire sur phabricator:T104566 serait sans doute bienvenue, voir même un patch si tu as le temps (les contributions sur ProofreadPage sont plus que bienvenues ;-)).

Reptilien.19831209BE1 (discussioncontributions)

Est-ce que tu suggères au final que ProofreadPage puisse gérer nativement la transclusion des pages et des sections sans faire appel à l'extension LabeledSectionTransclusion ? Ça me semble une idée intéressante.

Sinon, dans un premier temps, il me semble qu'on peut appeler la méthode recursiveTagParseFully à la place de recursiveTagParse de la ligne 239, chez moi, ça à l'air de fonctionner, qu'en penses-tu ?

Tpt (discussioncontributions)

Je serait plutôt pour que ProofreadPage puisse gérer la transclusion des pages sans faire appel au préprocesseur MediaWiki pour l'étape transclusion, i.e. en appelant directement LabeledSectionTransclusion (je ne suis pas certain que cela vaille le coup de dupliquer toute l'extension).


Merci beaucoup pour l'idée de recursiveTagParseFully, n'hésite pas à faire une pull request sur gerrit si tu veux (sinon je peux le faire sans problème). Cela semble une bonne approche. Il est possible que cela rende le rendu des pages faisant beaucoup de transclusion un peu plus long mais probablement pas de manière significative. Si tu fais un patch, n'hésite pas aussi à rajouter des parser tests (tests/parser/proofreadpage_pages_pagelist.txt) pour faire en sorte qu'il n'y ai pas de régression future pour cette fonctionnalité.

Reptilien.19831209BE1 (discussioncontributions)

Bonjour, je relance le sujet que j'avais complètement oublié. Oui, si tu as quelques minutes à consacrer à cette opération, je veux bien que tu t'en charges. Merci :-)

Reptilien.19831209BE1 (discussioncontributions)

J'ai pris connaissance de ton post sur phabricator, et j'ai remis en place les modeles tiret(2) en attendant qu'une solution soit trouvée.

Répondre à « Prise en charge automatique des césures »