Wikipedia:Bot/Sostituzioni
Da Wikipedia, l'enciclopedia libera.
I bot operano su grosse quantità di voci e, normalmente, in modo non visibile nella pagina Ultime modifiche. Occorre pertanto che le sostituzioni standard che possono effettuare siano assolutamente conosciute e condivise da tutti i wikipediani.
Ovviamente i bot effettuano anche sostituzioni o modifiche di parole specifiche, che vengono decise di volta in volta, in completa autonomia, da ogni gestore di bot. Viceversa le sostituzioni automatiche o standard (che vengono cioè sempre effettuate dal bot), devono essere comprese tra quelle elencate in questa pagina.
Qualora si volesse approntare un lavoro che coinvolge tutte le voci presenti su Wikipedia, se si dispone di un software in grado di usare i dump in formato XML prelevabili da http://download.wikimedia.org (come il pywikipediabot), sarà possibile svolgere il compito in maniera più veloce e mirata, facendo risparmiare lavoro ai server.
- Attenzione
- Le sostituzioni automatiche al di fuori del namespace principale sono generalmente non approvate, in quanto possono provocare effetti indesiderati.
- Il template AutoSost si usa per avere un'occhiata rapida di quali sostituzioni sono da fare. La sintassi è {{AutoSost|fattosul= <data dell'ultimo dump fatto>|firma= --~~~~}}. <data dell'ultimo dump fatto> va sostituito con la data dell'ultimo dump su cui si è eseguita la sostituzione. Va utilizzata la data del dump pages-meta-current.xml, e non, per esempio, quello pages-meta-articles.xml. Il parametro va scritto col meno (-) davanti se la sostituzione è ancora in corso; se essa non è mai stata eseguita, il parametro da inserire è 0. Si veda anche Template:AutoSost.
- L'ultimo dump pages-meta-current.xml che risulta è il 20090622. Aggiorna Lista degli ultimi dump disponibili
[modifica] Sostituzioni periodiche
| Problema | Descrizione | Testo da ottenere | Codice |
|---|---|---|---|
| Rimozione dell'accento | Alcune parole che sono scritte con l'accento non dovrebbero averlo, in teoria. | qui, qua, sto... | |
| Consuetudini | I titoli di sezione "Vedi anche", "Articoli correlati " e simili, "Link esterni" e simili. | == Voci correlate == == Collegamenti esterni == |
|
| Codice wiki | *Sistemazione delle entity html mancanti del segno finale ";" (ad esempio "  ") e sostituzione di quelle che rappresentano caratteri accentati (à, è...). Non vanno sostituiti: , >, <. | ||
| Apostrofi e virgolette | Apici, apostrofi, virgolette alte devono essere sempre del tipo semplice. | ' " |
[modifica] inversione delle accentate finali
- Modalità di esecuzione: automatica
- Descrizione sintetica:
- Discussione relativa: (Elenco)
- Comando: Regexp Attenzione: solo il primo schema è pronto per l'esecuzione totalmente automatica.
- Ripetere ogni: mese
- ultima esecuzione di:
Non fatto La sostituzione è in corso su un dump non aggiornato (20090531) --Tf (ping) 16:20, 3 giu 2009 (CEST)
[modifica] Rimozione di riferimenti
- Modalità di esecuzione: manuale (bot-assisted)
- Descrizione sintetica: Riferimenti -> Note e Bibliografie (scegliere di volta in volta se la sostituzione corretta è uno o l'altro)
- Discussione relativa: (discussione)
- Comandi:
replace.py -regex "(={2,4} ?)[Rr]iferimenti( ?={2,4})" "\1Bibliografia\2" -namespace:0 -summary:"Riferimenti->Bibliografia come da [[Wikipedia:Bar/Discussioni/Note e riferimenti]]" -xml:itwiki-20090622-pages-meta-current.xml
replace.py -regex "(={2,4} ?)[Rr]iferimenti( ?={2,4})" "\1Note\2" -namespace:0 -summary:"Riferimenti in Note come da [[Wikipedia:Bar/Discussioni/Note e riferimenti]]" -xml:itwiki-20090622-pages-meta-current.xml
- Ripetere ogni: 2 mesi
- ultima esecuzione di:
Non fatto La sostituzione è in corso su un dump non aggiornato (2007) --Alleborgo 08:55, 29 set 2007 (CEST)
[modifica] collegamenti esterni interni
- Modalità di esecuzione: manuale (bot-assisted)
- Descrizione sintetica: Negli articoli di Wikipedia, ci sono dei link che puntano ad articoli di Wikipedia stessa. Sarebbe meglio correggerli con le doppie parentesi quadre.
- Discussione relativa: (discussione)
- Comando:
replace.py -fix:syntax -namespace:0 -xml:itwiki-20090622-pages-meta-current.xml
- Ripetere ogni: mese
- ultima esecuzione di:
In corso... La sostituzione è in corso sull'ultimo dump --Tf (ping) 19:09, 22 giu 2009 (CEST)
[modifica] Virgolette, accenti, apostrofi
- Modalità di esecuzione: (semi-)semi-automatica
- Descrizione sintetica: ci sono alcuni caratteri ( ` | “ | ” | ‘ | ’ ) spesso utilizzati a sproposito da chi scrive le proprie pagine con Word (o, più raramente, da chi è abituato a LaTeX)
- Discussione relativa: (discussione)
- Comando:
python replace.py -regex "che\`" "ché" "\`([Ss])" "'\\1" "a\`" "à" "e\`" "è" "i\`" "ì" "o\`" "ò" "u\`" "ù" "([LlDd])\`" "\\1'" "\`\`([^ ])''" '"\1"' "\`\`" '"' -xml:itwiki-20090622-pages-meta-current.xml -exclude:excludelog.txt -namespace:0
- (Per ora queste regex risolvono solo il problema del carattere "`", e richiedono comunque di fare a mano svariati casi sfortunati. Se qualcuno sapesse come condensare in una sola sostituzione le varie vocali - cosa che si può fare con Sed ma forse non con una sola regex - me lo faccia sapere)
- Ripetere ogni: volta che esce un nuovo dump
- ultima esecuzione di:
Non fatto La sostituzione non è stata eseguita sull'ultimo dump. Ultima esecuzione (dump 2007): --Toobaz rispondi il 12:14, 4 dic 2007 (CET)
-
- Nota: l'accento non va sostituito nelle pagine in cui è presente il template template:Familytree, in quanto il simbolo "`" viene utilizzato all'interno del comando (vedi Discussioni template:Familytree). --Aushulz (msg) 19:10, 4 apr 2009 (CEST)
[modifica] da Kmq a km²
- Modalità di esecuzione: automatica
- Descrizione sintetica: [Kk]m[q2] -> km²
- Discussione relativa: (discussione)
- Comando:
python replace.py -namespace:0 -xml:itwiki-20090622-pages-meta-current.xml -regex "\b[Kk]m[q2]" "km²" -summary:"Bot: -km[q2] +km²"
- Ripetere ogni: mese?
- ultima esecuzione di:
Non fatto La sostituzione non è stata eseguita sull'ultimo dump. Ultima esecuzione (dump 20090203): --Incola (posta) 12:53, 5 feb 2009 (CET)
[modifica] da Km a km
- Modalità di esecuzione: semiautomatica
- Descrizione sintetica: Km -> km - Km. -> km - km. -> km
- Discussione relativa: come da standard imposti dal Sistema internazionale di unità di misura
- Comando:
replace.py -xml:itwiki-20090622 -regex "([0-9]) Km" "\1 km" "([0-9]) [Kk]m\.( [a-z|'])" "\1 km\2" -namespace:0 -summary:"Sostituisco Km con km, in accordo con le convenzioni del [[Sistema internazionale di unità di misura]]"
- Ripetere ogni: nuovo dump
- ultima esecuzione di:
Non fatto La sostituzione non è stata eseguita sull'ultimo dump. Ultima esecuzione (dump 20090203): --Aushulz (msg) 20:10, 24 apr 2009 (CEST)
[modifica] da ...°C (senza spazio) a ... °C (con lo spazio)
- Modalità di esecuzione: semiautomatica
- Descrizione sintetica: "°C" -> " °C"
- Discussione relativa: Discussioni_progetto:Fisica#Convenzioni_d_nomenclatura_wikipediana_per_.C2.B0C. Come da standard imposti dal Sistema internazionale di unità di misura
- Comando:
replace.py -xml:itwiki-20090622-pages-meta-current.xml -regex "([0-9])°C" "\1 °C" -namespace:0 -summary:"Aggiungo lo spazio prima del simbolo °C, in accordo con le convenzioni per i sistemi di misura"
[modifica] Spazio dopo la punteggiatura
- Modalità di esecuzione: manuale
- Descrizione sintetica: Inserire uno spazio dopo la virgola (,), il punto e virgola (;) ed il punto (.)
- Discussione relativa: (discussione)
- Comando:
non ancora deciso
[modifica] Maiuscolo decadi
- Modalità di esecuzione: manuale
- Descrizione sintetica:
- Discussione relativa: Aiuto:Manuale di stile
- Comando:
# per it.wikipedia
# replace.py -fix:anni -ref:Anni_1990 -ref:Anni_1980 -ref:Anni_1970 -ref:Anni_1960 -ref:Anni_1950 -ref:Anni_1940 -ref:Anni_1930 -ref:Anni_1920 -ref:Anni_1910
'anni': {
'regex': True,
'msg': {
'it':u'Sistemo Anni 10, 20, 30, 40, ecc.',
},
'replacements': [
(u"\[\[(a|A)nni[ _]([nN]ovanta|'90)\]\]", ur"[[Anni 1990|\1nni novanta]]"),
(u"\[\[(a|A)nni[ _]([oO]ttanta|'80)\]\]", ur"[[Anni 1980|\1nni ottanta]]"),
(u"\[\[(a|A)nni[ _]([sS]ettanta|'70)\]\]", ur"[[Anni 1970|\1nni settanta]]"),
(u"\[\[(a|A)nni[ _]([sS]essanta|'60)\]\]", ur"[[Anni 1960|\1nni sessanta]]"),
(u"\[\[(a|A)nni[ _]([cC]inquanta|'50)\]\]", ur"[[Anni 1950|\1nni cinquanta]]"),
(u"\[\[(a|A)nni[ _]([qQ]uaranta|'40)\]\]", ur"[[Anni 1940|\1nni quaranta]]"),
(u"\[\[(a|A)nni[ _]([tT]renta|'30)\]\]", ur"[[Anni 1930|\1nni trenta]]"),
(u"\[\[(a|A)nni[ _]([vV]enti|'20)\]\]", ur"[[Anni 1920|\1nni venti]]"),
(u"\[\[(a|A)nni[ _]([dD]ieci|'10)\]\]", ur"[[Anni 1910|\1nni dieci]]"),
]
},
[modifica] da category a Categoria
- Modalità di esecuzione:
- Descrizione sintetica: cambiare "Category" in "Categoria" come per "immagine". --87.0.125.182 (msg) 21:24, 3 mag 2008 (CEST)
- Discussione relativa:
- Comando:
replace.py -xml:itwiki-20090622-pages-meta-current.xml -regex "\[\[[Cc]ategory:" "[[Categoria:" -namespace:0
- Ripetere ogni: cambio di dump
- ultima esecuzione di:
Non fatto La sostituzione non è stata eseguita sull'ultimo dump. Ultima esecuzione (dump 20090105): --Aushulz (msg) 02:33, 17 gen 2009 (CET)
[modifica] Template deprecati commons e commonscat
- Modalità di esecuzione: automatica
- Descrizione sintetica: Alcuni template sono deprecati ma non da cancellare, in quanto, essendo comunemente utilizzati nelle altre wikipedie al posto del template:interprogetto, possono essere utilizzati da utenti e bot non italiani. È comunque necessario effettuare delle operazioni periodiche di sostituzione, che possono essere attuate senza problemi nei namespace 0 (principale) e 14 (categoria). Questi template sono: template:commons e template:commonscat. Siccome i template possono essere scritti in 2 forme (con o senza parametro), esistono 2 comandi per ciascuno, per un totale di 4 comandi (8 se si effettuano le modifiche anche nel namespace:categoria, per il quale basta modificare "-namespace:0" in "-namespace:14").
- Discussione relativa: Wikipedia:Pagine da cancellare/Template:Commonscat/3
- Comandi:
replace.py -namespace:0 -ref:"template:commons" -regex "{{[Cc]ommons\|" "{{interprogetto|commons=" -summary:"Sostituisco [[template:commons]] (deprecato) con [[template:interprogetto]]"
replace.py -namespace:0 -ref:"template:commons" -regex "{{[Cc]ommons}}" "{{interprogetto|commons=:{{subst:PAGENAME}}}}" -summary:"Sostituisco [[template:commons]] (deprecato) con [[template:interprogetto]]"
replace.py -namespace:0 -ref:"template:commonscat" -regex "{{[Cc]ommonscat\|" "{{interprogetto|commons=Category:" -summary:"Sostituisco [[template:commonscat]] (deprecato) con [[template:interprogetto]]"
replace.py -namespace:0 -ref:"template:commonscat" -regex "{{[Cc]ommonscat}}" "{{interprogetto|commons=Category:{{subst:PAGENAME}}}}" -summary:"Sostituisco [[template:commonscat]] (deprecato) con [[template:interprogetto]]"
- Ripetere ogni:
- ultima esecuzione di:
Non fatto La sostituzione non è stata eseguita sull'ultimo dump. Ultima esecuzione (dump 20090203): --Aushulz (msg) 01:32, 17 apr 2009 (CEST)
[modifica] Voci correlate
[modifica] Collegamenti esterni
- (IT) HOWTO sulle Espressioni Regolari di A.M. Kuchling (Python)
- (IT) Manuale delle regex su botwiki, comprende una spiegazione per l'utilizzo dei dump

