Tema de Viquipèdia:La taverna/Tecnicismes

Kette~cawiki (discussiócontribucions)

M'he trobat amb més d'un problema a l'hora de preparar unes correccions en infotaules amb bot, les infotaules editades amb l'editor visual deixen els paràmetres i el seus valor en una línia, un rere l'altre. Les infotaules que han estat normalitzades no donen cap problema però per fer neteja en d'altres cal canviar paràmetres i eliminar parells paràmetre/valor. Hi ha cap possibilitat de que l'editor deixi les infotaules en vertical? Gràcies.

Pere prlpz (discussiócontribucions)

Que la infotaula estigui en una línia o una cosa sota l'altra no hauria de ser un problema pel bot. Quina mena de bot fas servir?

Kette~cawiki (discussiócontribucions)

Si vols eliminar un paràmetre i el seu valor doncs elimines la línia sencera, fins trobar un \n. En línia pots delimitar els paràmetres entre | però si hi ha referències seguides de valor amb el regex també troba els delimitadors dels paràmetres de la referència. Això dona un match fals, exemple: | elquesigui= elquesigui{{Sfn|.... El primer | que troba no és el del següent paràmetre, és el de la plantilla Sfn, si esborres el primer | fins el segon, queda la infotaula «desmuntada».

Pere prlpz (discussiócontribucions)

Quan jo vaig començar amb els robots també canviava paràmetres de plantilles amb regex. Per aquests casos la solució que se m'ocorre és primer detectar si hi ha l'obertura de la referència, amb un regex. A partir d'aquí pots buscar el tancament de la referència (a la mateixa línia o a les següents) i manipular-la sencera, o bé pots simplement deixar córrer l'article que tingui una referència dins d'un paràmetre de la infotaula. En aquell temps jo hagués seguit aquesta segona opció i hagués imprès un missatge per arreglar a mà els pocs articles que tinguessin aquest problema.

Ara bé, diria que la solució bona és deixar de fer servir regex per trobar els paràmetres de les plantilles: import mwparserfromhell. Té mètodess per llegir i canviar fàcilment paràmetres de plantilles i actualment ve de sèrie amb el pywikibot.

Kette~cawiki (discussiócontribucions)

Gràcies, m'ho miro. En quant al regex, em va be per fer molts canvis d'una passada amb replace i user-fixes.py tot i que a cada passada trobo un paràmetre que apareix del no res, be, són el resultat d'un munt de fusions sense netejar paràmetres que es perden pel camí.

Kette~cawiki (discussiócontribucions)

Ja veig: mwparserfromhel.parse(text). Aniré fent proves. Moltes gràcies!

Pere prlpz (discussiócontribucions)

Estàs fent tu el programa o estàs fent servir els bots que venen fets amb el pywikibot?

Kette~cawiki (discussiócontribucions)

A l'espai principal estic fent proves amb els scripts que venen amb pywiki, però intento provar «alguna cosa més». Dels llenguatges que utilitzo el més semblant és PHP, miraré de ficar-li mà al phyton més a fons. Si no et fa res i trobo algun problema ja et consultaré. Gràcies

Pere prlpz (discussiócontribucions)

Quan vulguis, tot i que crec que per aquí n'hi ha uns quants que en saben més que jo.

Resposta a «Infotaules a l'editor visual»