[go: up one dir, main page]

Wikipedia:Bot/Sostituzioni

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 Pywikibot), 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 20190101. Aggiorna Lista degli ultimi dump disponibili

Sostituzioni periodiche

modifica
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. == Pagine correlate ==
== Collegamenti esterni ==
Codice wiki *Sistemazione delle entity html mancanti del segno finale ";" (ad esempio "&nbsp ") e sostituzione di quelle che rappresentano caratteri accentati (&agrave;, &egrave;...). Non vanno sostituiti: &nbsp;, &gt;, &lt;.
Apostrofi e virgolette Apici, apostrofi, virgolette alte devono essere sempre del tipo semplice. ' "



inversione delle accentate finali

modifica
  • 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 (20100201) --Fale (msg) 11:06, 9 feb 2010 (CET)[rispondi]
Commenti

Occhio che anche il primo schema per la correzione degli accenti deve essere migliorato. Ad esempio io quando correggo gli accenti evito di principio tutte le citazioni (che potrebbero avere accenti obsoleti), i nomi delle immagini (che a volte contengono errori di battitura, ma che se vengono corretti l'immagine smette di funzionare), possibilmente le note (che possono contenere titoli di opere in italiano arcaico), gli interlink/interwiki in altre lingue e gli url! Occhio! Inoltre ci sono in giro alcune subdole eccezioni: Piergiorgio Giacchè, Perche, Bensi (cognome) e mi sembra che ci fosse anche qualcos'altro... Morale sicuramente il blocco di regex in quella pagina va corredato delle dovute exceptions. -- Basilicofresco (msg) 08:23, 10 feb 2010 (CET)[rispondi]

Va tolto anche Macramé, si veda Discussioni_progetto:Scout#Macram.C3.A9_2004. -- Basilicofresco (msg) 08:41, 10 feb 2010 (CET)[rispondi]

Titolo della sezione "Note" errato

modifica
 replace.py -xml:itwiki-20190101-pages-meta-current.xml -regex "(?<=\n) *=+ *[a-zA-Z _àèéìòù-]* *=+ *((\s*\<references */\>)|(\s*\{\{references *\| *[1-9] *\}\}))" "==Note==\1" -excepttext:"== *Note *==" -namespace:0 -excepttext:"Giocatori acquistati durante la stagione" -summary:"Riferimenti->Note come da [[Wikipedia:Bar/Discussioni/Note e riferimenti]]"

Con questo comando il bot cerca le pagine in cui le note non sono precedute dal titolo "Note". Spesso la sostituzione "Titolo errato"->"Note" va svolta manualmente (ci possono essere ad esempio note mescolate con la bibliografia, sezione delle note posizionata in posti errati, più sezioni delle note, eccetera...), per cui bisogna agire in modalità manuale per vedere se nella voce ci sono altri problemi, e quindi fare la modifica. --Aushulz (msg) 12:44, 12 nov 2009 (CET)[rispondi]

Template "Reflist" deprecato

modifica
  • Modalità di esecuzione: automatica
  • Descrizione sintetica: Sostituisce il template "Reflist" con <references/>. Il template "Reflist" viene utilizzato dalla Wikipedia inglese (per cui spesso viene introdotto in seguito ad una traduzione da en.wikipedia), mentre nella Wikipedia italiana non è altro che un <references/>. Questa sostituzione, sostituendo il template deprecato, permette ad altri comandi svolti dai bot di svolgersi più efficacemente.
  • Discussione relativa:
  • Comando:
    replace.py -regex "{{ *[Rr]eflist *\|* *}}" "<references/>" "{{ *[Rr]eflist *\| *([0-9]+) *}}" "<references/>" "{{ *[Rr]eflist *\| *colwidth=[0-9]+em *}}" "<references/>" -ref:"template:Reflist" -namespace:0 -summary:"Bot: reflist deprecato"
  • Ripetere ogni: 2 mesi
  • ultima esecuzione di: .avgas 18:34, 28 nov 2017 (CET)[rispondi]
Commenti

Nessun problema in automatico. -- Basilicofresco (msg) 07:54, 10 feb 2010 (CET)[rispondi]

Visto che è un redirect... è ancora necessaria la sostituzione? -- Basilicofresco (msg) 19:12, 5 mag 2010 (CEST)[rispondi]
Io non lo so, se nessuno ti risponde chiedi al BarTemplate--Pierpao.lo (listening) 19:19, 5 mag 2010 (CEST)[rispondi]
Non è più un redirect (anche References è obsoleto da un pezzo), è un richiamo a un semplice <references/>. Basta substarlo --Bultro (m) 01:27, 17 mag 2024 (CEST)[rispondi]

Rimozione di riferimenti

modifica
  • 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:Bot/Sostituzioni/Rimozione di riferimenti]]" -xml:itwiki-20190101-pages-meta-current.xml
 replace.py -regex "(={2,4} ?)[Rr]iferimenti( ?={2,4})" "\1Note\2" -namespace:0 -summary:"Riferimenti in Note come da [[Wikipedia:Bot/Sostituzioni/Rimozione di riferimenti]]" -xml:itwiki-20190101-pages-meta-current.xml


collegamenti esterni interni

modifica
  • 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-20190101-pages-meta-current.xml
Spesso ci si trova in situazioni 'spiacevoli' perchè vengono fuori delle sintassi assurde :\ Fale (msg) 12:55, 9 feb 2010 (CET)[rispondi]
Sto già correggendo periodicamente questo problema con la sostituzione sintassi link. -- Basilicofresco (msg) 19:13, 6 mag 2010 (CEST)[rispondi]

Virgolette, accenti, apostrofi

modifica
  • 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-20190101-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)
Commenti

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)[rispondi]

Si, c'è da considerare ad esempio che moltissime occorrenze in realtà si tratta di virgolette che racchiudono una frase e non di un accento. I casi banali li sto già correggendo io con FrescoBot... quindi qui rimangono giusto quelli da valutare con più attenzione. -- Basilicofresco (msg) 09:07, 10 feb 2010 (CET)[rispondi]

da Kmq a km²

modifica
  • Modalità di esecuzione: automatica
  • Descrizione sintetica: [Kk]m[q2] -> km²
  • Discussione relativa: (discussione)
  • Comando:
replace.py -namespace:0 -xml:itwiki-20190101-pages-meta-current.xml -regex "\b[Kk]m[q2]" "km²" -summary:"Bot: -km[q2] +km²"
Commenti
Questa regex mi sembra funzionare molto bene così com'è. Sarebbe solo da mettere in un file di regex. Fale (msg) 12:40, 9 feb 2010 (CET)[rispondi]
Beh insomma, quasi... Cmq queste regex non andrebbero eseguite da riga di comando, ma inserite in un file in modo da poterle accompagnare anche con alcune esclusioni classiche (almeno url, e nomi immagini). Esempi ipotetici [http://www.dominio.it/pagina(kmq).php url], [[Image:tralla(kmq)llero.png]]. -- Basilicofresco (msg) 10:11, 10 feb 2010 (CET)[rispondi]
Quella non la avevo proprio notata :\. Effettivamente genera delle eccezioni che ho saltato (url etc) Fale (msg) 12:31, 10 feb 2010 (CET)[rispondi]

da Km a km

modifica
replace.py -xml:itwiki-20190101-pages-meta-current.xml  -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]]"
Commenti
La regex funziona correttamente. Bisogna vedere come gestire i kmh che forse andrebbero trasformati in km/h Fale (msg) 12:53, 9 feb 2010 (CET)[rispondi]
Queste regex non andrebbero eseguite da riga di comando, ma inserite in un file in modo da poterle accompagnare con alcune esclusioni classiche (almeno url, e nomi immagini). Esempio ipotetico: [http://www.dominio.it/644 Kme Group] Basilicofresco (msg) 10:11, 10 feb 2010 (CET)[rispondi]
Non ho trovato nessuna eccezione, ma nulla vieta che ce ne possano essere. --Aushulz (msg) 01:16, 7 mag 2010 (CEST)[rispondi]

da Kg a kg

modifica
replace.py -xml:itwiki-20190101-pages-meta-current.xml  -regex "([0-9]) Kg" "\1 kg" -namespace:0 -summary:"Sostituisco Kg con kg, in accordo con le convenzioni del [[Sistema internazionale di unità di misura]]"
Commenti
Ho trovato solo un'eccezione, una voce di scacchi. Per sicurezza comunque è bene controllare ogni modifica svolta dal bot. --Aushulz (msg) 01:58, 3 mag 2010 (CEST)[rispondi]

da ...°C (senza spazio) a ... °C (con lo spazio)

modifica
replace.py -xml:itwiki-20190101-pages-meta-current.xml -regex "([0-9])°C(?![A-Z|a-z])" "\1 °C" -excepttext:"[Ss]tudio 4[°º][Cc]" -namespace:0 -summary:"Aggiungo lo spazio prima del simbolo °C, in accordo con le convenzioni per i sistemi di misura"
Commenti

Innanzitutto alcune eccezioni:

"Taipei 21°C", "[Ss]tudio 4[°º][Cc]", "Jigoku 108°C no", "[Ll]ucent 4[°º][Cc]".

Inoltre non ho capito il \b nel testo sostituito... non ultimo è ovvio che non si può fare alla cieca senza alcuna esclusione (ad esempio codice, indirizzi web, ecc). -- Basilicofresco (msg) 12:07, 8 feb 2010 (CET)[rispondi]

Infatti il "/b" non ci andava, l'ho tolto. Bisogna stare attenti anche agli errori del tipo "8°Corso", che va cambiato in "8° Corso". --Aushulz (msg) 01:55, 7 mag 2010 (CEST)[rispondi]
Ho modificato la sintassi. Adesso ci sono molte eccezioni in meno (6 pagine in tutto). --Aushulz (msg) 20:36, 7 mag 2010 (CEST)[rispondi]

Maiuscolo decenni

modifica
  • Modalità di esecuzione: automatica sospesa, vedi sotto
  • Descrizione sintetica:
  • Discussione relativa: Aiuto:Manuale di stile
  • Comando:
replace.py -xml:itwiki-20190101-pages-meta-current.xml -fix:decadi900 -namespace:0

È necessario aggiungere nel proprio user-fixes.py il seguente codice:

       'decadi900': {
       'regex': True,
       'recursive': False,
       'msg': {
              'it':u"Bot: decadi secondo il [[Aiuto:Manuale di stile#Decenni|manuale di stile]]"
             },
       'replacements': [
           
#raro caso della maiuscola
(u"(?<![\]a-z] )\[\[(a|A)nni[ _]([nN]ovanta|'90)\]\]", ur"[[anni 1990|\1nni novanta]]"),
(u"(?<![\]a-z] )\[\[(a|A)nni[ _]([oO]ttanta|'80)\]\]", ur"[[anni 1980|\1nni ottanta]]"),
(u"(?<![\]a-z] )\[\[(a|A)nni[ _]([sS]ettanta|'70)\]\]", ur"[[anni 1970|\1nni settanta]]"),
(u"(?<![\]a-z] )\[\[(a|A)nni[ _]([sS]essanta|'60)\]\]", ur"[[anni 1960|\1nni sessanta]]"),
(u"(?<![\]a-z] )\[\[(a|A)nni[ _]([cC]inquanta|'50)\]\]", ur"[[anni 1950|\1nni cinquanta]]"),
(u"(?<![\]a-z] )\[\[(a|A)nni[ _]([qQ]uaranta|'40)\]\]", ur"[[anni 1940|\1nni quaranta]]"),
(u"(?<![\]a-z] )\[\[(a|A)nni[ _]([tT]renta|'30)\]\]", ur"[[anni 1930|\1nni trenta]]"),
(u"(?<![\]a-z] )\[\[(a|A)nni[ _]([vV]enti|'20)\]\]", ur"[[anni 1920|\1nni venti]]"),
(u"(?<![\]a-z] )\[\[(a|A)nni[ _]([dD]ieci|'10)\]\]", ur"[[anni 1910|\1nni dieci]]"),
(u"(?<![\]a-z] )\[\[(a|A)nni[ _]([nN]ovanta|'90)\|(a|A)nni[ _]?([nN]ovanta|'90|1990)\]\]", ur"[[anni 1990|\3nni novanta]]"),
(u"(?<![\]a-z] )\[\[(a|A)nni[ _]([oO]ttanta|'80)\|(a|A)nni[ _]?([oO]ttanta|'80|1980)\]\]", ur"[[anni 1980|\3nni ottanta]]"),
(u"(?<![\]a-z] )\[\[(a|A)nni[ _]([sS]ettanta|'70)\|(a|A)nni[ _]?([sS]ettanta|'70|1970)\]\]", ur"[[anni 1970|\3nni settanta]]"),
(u"(?<![\]a-z] )\[\[(a|A)nni[ _]([sS]essanta|'60)\|(a|A)nni[ _]?([sS]essanta|'60|1960)\]\]", ur"[[anni 1960|\3nni sessanta]]"),
(u"(?<![\]a-z] )\[\[(a|A)nni[ _]([cC]inquanta|'50)\|(a|A)nni[ _]?([cC]inquanta|'50|1950)\]\]", ur"[[anni 1950|\3nni cinquanta]]"),
(u"(?<![\]a-z] )\[\[(a|A)nni[ _]([qQ]uaranta|'40)\|(a|A)nni[ _]?([qQ]uaranta|'40|1940)\]\]", ur"[[anni 1940|\3nni quaranta]]"),
(u"(?<![\]a-z] )\[\[(a|A)nni[ _]([tT]renta|'30)\|(a|A)nni[ _]?([tT]renta|'30|1930)\]\]", ur"[[anni 1930|\3nni trenta]]"),
(u"(?<![\]a-z] )\[\[(a|A)nni[ _]([vV]enti|'20)\|(a|A)nni[ _]?([vV]enti|'20|1920)\]\]", ur"[[anni 1920|\3nni venti]]"),
(u"(?<![\]a-z] )\[\[(a|A)nni[ _]([dD]ieci|'10)\|(a|A)nni[ _]?([dD]ieci|'10|1910)\]\]", ur"[[anni 1910|\3nni dieci]]"),

# Wilikink normali o con piping lungo
(u"\[\[(a|A)nni[ _]([nN]ovanta|'90|1990(?=\|))(\|(a|A)nni[ _]?([nN]ovanta|'?90|1990)|)\]\]", ur"[[\1nni 1990|anni novanta]]"),
(u"\[\[(a|A)nni[ _]([oO]ttanta|'80|1980(?=\|))(\|(a|A)nni[ _]?([oO]ttanta|'?80|1980)|)\]\]", ur"[[\1nni 1980|anni ottanta]]"),
(u"\[\[(a|A)nni[ _]([sS]ettanta|'70|1970(?=\|))(\|(a|A)nni[ _]?([sS]ettanta|'?70|1970)|)\]\]", ur"[[\1nni 1970|anni settanta]]"),
(u"\[\[(a|A)nni[ _]([sS]essanta|'60|1960(?=\|))(\|(a|A)nni[ _]?([sS]essanta|'?60|1960)|)\]\]", ur"[[\1nni 1960|anni sessanta]]"),
(u"\[\[(a|A)nni[ _]([cC]inquanta|'50|1950(?=\|))(\|(a|A)nni[ _]?([cC]inquanta|'?50|1950)|)\]\]", ur"[[\1nni 1950|anni cinquanta]]"),
(u"\[\[(a|A)nni[ _]([qQ]uaranta|'40|1940(?=\|))(\|(a|A)nni[ _]?([qQ]uaranta|''40|1940)|)\]\]", ur"[[\1nni 1940|anni quaranta]]"),
(u"\[\[(a|A)nni[ _]([tT]renta|'30|1930(?=\|))(\|(a|A)nni[ _]?([tT]renta|'?30|1930)|)\]\]", ur"[[\1nni 1930|anni trenta]]"),
(u"\[\[(a|A)nni[ _]([vV]enti|'20|1920(?=\|))(\|(a|A)nni[ _]?([vV]enti|'?20|1920)|)\]\]", ur"[[\1nni 1920|anni venti]]"),
(u"\[\[(a|A)nni[ _]([dD]ieci|'10|1910(?=\|))(\|(a|A)nni[ _]?([dD]ieci|'?10|1910)|)\]\]", ur"[[\1nni 1910|anni dieci]]"),

# Wilikink con piping corto
(u"([aA]nni |)'?\[\[(a|A)nni[ _]([nN]ovanta|'90|1990)\|([nN]ovanta|'?90)\]\]", ur"[[\2nni 1990|\1novanta]]"),
(u"([aA]nni |)'?\[\[(a|A)nni[ _]([oO]ttanta|'80|1980)\|([oO]ttanta|'?80)\]\]", ur"[[\2nni 1980|\1ottanta]]"),
(u"([aA]nni |)'?\[\[(a|A)nni[ _]([sS]ettanta|'70|1970)\|([sS]ettanta|'?70)\]\]", ur"[[\2nni 1970|\1settanta]]"),
(u"([aA]nni |)'?\[\[(a|A)nni[ _]([sS]essanta|'60|1960)\|([sS]essanta|'?60)\]\]", ur"[[\2nni 1960|\1sessanta]]"),
(u"([aA]nni |)'?\[\[(a|A)nni[ _]([cC]inquanta|'50|1950)\|([cC]inquanta|'?50)\]\]", ur"[[\2nni 1950|\1cinquanta]]"),
(u"([aA]nni |)'?\[\[(a|A)nni[ _]([qQ]uaranta|'40|1940)\|([qQ]uaranta|'?40)\]\]", ur"[[\2nni 1940|\1quaranta]]"),
(u"([aA]nni |)'?\[\[(a|A)nni[ _]([tT]renta|'30|1930)\|([tT]renta|'?30)\]\]", ur"[[\2nni 1930|\1trenta]]"),
(u"([aA]nni |)'?\[\[(a|A)nni[ _]([vV]enti|'20|1920)\|([vV]enti|'?20)\]\]", ur"[[\2nni 1920|\1venti]]"),
(u"([aA]nni |)'?\[\[(a|A)nni[ _]([dD]ieci|'10|1910)\|([dD]ieci|'?10)\]\]", ur"[[\2nni 1910|\1dieci]]"),
                       ],
              }
       },
Commenti

È ancora troppo semplicistico il codice. Ci sono tantissimi altri casi analoghi che non vengono considerati. Preparo in questi giorni qualcosa di più omnicomprensivo. Nel frattempo aspettate. -- Basilicofresco (msg) 12:07, 8 feb 2010 (CET)[rispondi]

Ora dovrebbe andar bene. -- Basilicofresco (msg) 00:11, 11 feb 2010 (CET)[rispondi]
Vedo che sono state sollevate in Discussioni aiuto:Manuale di stile#Decenni alcune perplessità. Per il momento sospenderei. -- Basilicofresco (msg) 00:43, 20 feb 2010 (CET)[rispondi]

Template deprecati commons e commonscat

modifica
  • 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]]"


Piping inutile

modifica
  • Modalità di esecuzione: automatica
  • Descrizione sintetica: Spesso si trovano wikilink scritti [[così|così]] invece di [[così]]. Ridondanza inutile da sostituire.
  • Discussione relativa:
  • Comando:
replace.py -regex "[[(\w)\|(\1)]]" "[[\1]]" -xml:itwiki-20190101-pages-meta-current.xml -namespace:0 -summary:"Bot: tolgo piping inutile"

Commenti

Considerate che circa una volta al mese faccio passare FrescoBot con la correzione "piping superfluo nei wikilink" che è supertestato e in grado di individuare anche tutte le possibili varianti (con o senza spazi e con maiuscole diverse fra loro). -- Basilicofresco (msg) 12:07, 8 feb 2010 (CET)[rispondi]

Si potrebbe valutare di sostituire questo codice con quello del tuo bot. Cosa ne pensi? Fale (msg) 08:07, 10 feb 2010 (CET)[rispondi]

Template lingue e indicazione della lingua italiana

modifica
  • Modalità di esecuzione: semiautomatica
  • Descrizione sintetica: Inserisce il template:lingue quando sono presenti più lingue. Ad esempio {{en}}{{fr}}{{it}} diventa {{lingue|en|fr|it}}. Allo stesso tempo toglie l'indicazione della lingua italiana da collegamenti esterni, elenchi puntati, e all'interno dei template per la citazione delle fonti e simili.
  • Discussione relativa: Discussioni template:It e Discussioni Wikipedia:Bot#Template:It
  • Comando:
replace.py -regex "( *)\{\{([A-Za-z][a-z][a-z]?)\}\} *.?( *).? *\{\{([A-Za-z][a-z][a-z]?)\}\} *.?( *).? *\{\{([A-Za-z][a-z][a-z]?)\}\} *.?( *).? *\{\{([A-Za-z][a-z][a-z]?)\}\} *.?( *).? *\{\{([A-Za-z][a-z][a-z]?)\}\} *.?( *).? *\{\{([A-Za-z][a-z][a-z]?)\}\}( *)" "\1{{lingue|\2|\4|\6|\8|\10|\12}}\13" "( *)\{\{([A-Za-z][a-z][a-z]?)\}\} *.?( *).? *\{\{([A-Za-z][a-z][a-z]?)\}\} *.?( *).? *\{\{([A-Za-z][a-z][a-z]?)\}\} *.?( *).? *\{\{([A-Za-z][a-z][a-z]?)\}\} *.?( *).? *\{\{([A-Za-z][a-z][a-z]?)\}\}( *)" "\1{{lingue|\2|\4|\6|\8|\10}}\11" "( *)\{\{([A-Za-z][a-z][a-z]?)\}\} *.?( *).? *\{\{([A-Za-z][a-z][a-z]?)\}\} *.?( *).? *\{\{([A-Za-z][a-z][a-z]?)\}\} *.?( *).? *\{\{([A-Za-z][a-z][a-z]?)\}\}( *)" "\1{{lingue|\2|\4|\6|\8}}\9" "( *)\{\{([A-Za-z][a-z][a-z]?)\}\} *.?( *).? *\{\{([A-Za-z][a-z][a-z]?)\}\} *.?( *).? *\{\{([A-Za-z][a-z][a-z]?)\}\}( *)" "\1{{lingue|\2|\4|\6}}\7" "( *)\{\{([A-Za-z][a-z][a-z]?)\}\} *.?( *).? *\{\{([A-Za-z][a-z][a-z]?)\}\}( *)" "\1{{lingue|\2|\4}}\5" "( *){{[Ii]t}} *-? *" "\1" "\| *lingua *= *[Ii]taliano\s*(\n*|)" "\1" "\| *lingua *= *{{[Ii]t}}\s*(\n*|)" "\1" "\| *lingua *= *[Ii]t\s*(\n*|)" "\1" -xml:itwiki-20110313-pages-meta-current.xml -namespace:0 -summary:"Bot: Vedi [[Template:Lingue]] e [[Template:it]]" -excepttext:"{{[Pp]df}}" -excepttext:"{{[Dd]oc}}" -excepttext:"{{[Ss]p}}" -excepttext:"{{[Cc]n}}" -excepttext:"{{[Gg]ol}}" -excepttext:"{{[Qq]uote" -excepttext:"{{[Cc]ittà" -excepttext:"{{[Ss]tato" -excepttext:"{{[Cc]omun" -excepttext:"{{[Ff]razion" -excepttext:"{{[Cc]anton"
Commenti

Tale comando contempla anche i casi in cui ci siano spazi, trattini, virgole o qualsiasi altro carattere tra un template e l'altro, ad esempio:

{{en}} {{fr}} {{it}}
{{en}}, {{fr}}, {{it}}
{{en}} - {{fr}} - {{it}}
{{en}}, {{fr}} e {{it}}

Questo comando prende in considerazione i template lunghi 2 o 3 lettere e con la seconda lettera minuscola. Bisogna quindi verificare preventivamente che nella Categoria:Template lingue dei collegamenti esterni non ci siano template che non rispettino tali criteri, e in caso contrario controllarli a parte (se sono inclusi in poche pagine) o modificare il comando per fare rientrare anche questi casi. Ho inserito nell'"excepttext" i template di 2 o 3 caratteri che non sono template lingua, se durante il botolaggio ne trovate spesso anche altri li potete inserire.
Il comando riesce a individuare fino a 6 template disposti consecutivamente; nei pochi casi in cui se ne trovino più di 6, bisogna agire manualmente (cliccando "b" per aprire la voce in questione).
Le ultime regex, che riguardano l'eliminazione dell'indicazione della lingua italiana, sono state inserite in questo comando per evitare che un template:it venga cancellato quando va invece inserito nel template:lingua (in alternativa si sarebbe potuto dividere il comando in due parti, eseguendo prima la parte che riguarda l'inserimento del template:lingue e subito dopo la parte che riguarda l'eliminazione dei template:it rimasti "soli").
Ho aggiunto l'excepttext per il template:Quote in quanto in questo caso l'indicazione della lingua italiana potrebbe non essere superflua (ad esempio ci può essere un testo in italiano a fronte di un testo in altra lingua). --Aushulz (msg) 00:23, 28 mar 2011 (CEST)[rispondi]

Pagine correlate

modifica

Collegamenti esterni

modifica