AushulzBot

Fatto

Ricerca e sviluppo

Regex e script di altri

Link


Utente:AushulzBot this user is a Bot
AushulzBot (Talk · Contribs)

AushulzBot
Operatore:Aushulz (msg)
Approvato:Yes
Flag:13-03-2009
Compito/i:Correzione di errori comuni, inserimento di Template:Portale, ecc...
Automatico o manuale?manuale
Linguaggio di programmazione/i:framework pywikipediabot



(Ad uso esclusivo degli amministratori)

Informazioni sul bot

modifica
AushulzBot è un Bot manovrato da Aushulz (msg).
  • Data di creazione: 14 gen 2009
  • Data di approvazione: 13 mar 2009

Regex e script pronti all'uso

modifica

Le regex che sono scritte in questa sezione ("regex del mio bot") se sono state scritte da me autorizzo chiunque ad utilizzarle come meglio crede, se invece sono scritte da altri, le utilizzo in quanto gli utenti che le hanno create ne hanno permesso l'utilizzo.

Nelle sottopagine di Utente:AushulzBot/Python si trovano gli script e le regex in python che vado mano a mano scrivendo o che prendo in prestito da altri utenti.

  • Utente:AushulzBot/Python/1 - Formattazione wiki delle note: al momento riesco a modificare i titoli della sezione "Note" quando sono errati. In futuro scriverò uno script per effettuare molte altre correzioni che riguardano le convenzioni dettate da Wikipedia:Modello di voce.
  • Utente:AushulzBot/Python/2 - Errori di ortografia nei nomi delle regioni: si tratta di inserire un trattino "-" in alcuni nomi di regioni italiane. Necessito il flagaggio del bot per completare le operazioni, piuttosto ripetitive.
  • Utente:AushulzBot/Python/3 - Sostituzioni SI (Sistema Internazionale): sto mettendo insieme un po' di regex mie e di altri. Bisogna stabilire con il Progetto:Scienza e tecnica le linee guida prima di far partire il bot, anche se alcune correzioni mano mano vengono svolte da altri bot.
  • Utente:AushulzBot/Python/4, Utente:AushulzBot/Python/7 e Python:Portalebot.py - Modifiche al template:Portale: è indispensabile avere il flag per iniziare questi lavori, che vanno a sistemare il template:portale in vari modi (lascio i sottoportali, unisco i template:portale, inserisco i template:portale per categoria). Non sono riuscito a fare partire la regex dei sottoportali con il dump, ma in alfabetico funziona benissimo (sono arrivato dopo la "L" per la regex "Campania", ma ci sono tantissime regex da fare girare, per cui è molto meglio se risolvo il problema del dump).
  • Utente:AushulzBot/Python/5 - Sostituzioni wiki en-it: sono sostituzioni di termini che derivano dal codice wiki inglese, ad esempio "[[category:" al posto di "[[categoria:"
  • Utente:AushulzBot/Python/6 - Correzione minuscole: script che inserisce l'iniziale maiuscola nei nomi proprio di persona, nomi geografici, e dove ce n'è bisogno. Qualunque aiuto a completare la lista è ben accetto.
  • Utente:AushulzBot/Python/8 - Sostituzioni template deprecati: sono sostituzioni di template deprecati (ad esempio Template:Commonscat).
  • Ordine delle sezioni predefinite:
replace.py -page:"Utente:AushulzBot/Sandbox" -regex "(=+ *Bibliografia *=+)((\s|\S)*)(?<=\n)(=+ *Note *=+ *((\s*\<references */\>)|(\s*\{\{references *\| *[1-9] *\}\})))\s*" "\4\3\3\1\2" "(=+ *Voci correlate *=+)((\s|\S)*)(?<=\n)(=+ *Note *=+ *((\s*\<references */\>)|(\s*\{\{references *\| *[1-9] *\}\})))\s*" "\4\3\3\1\2"  "(=+ *Altri progetti *=+)((\s|\S)*)(?<=\n)(=+ *Note *=+ *((\s*\<references */\>)|(\s*\{\{references *\| *[1-9] *\}\})))\s*" "\4\3\3\1\2" "(=+ *Collegamenti esterni *=+)((\s|\S)*)(?<=\n)(=+ *Note *=+ *((\s*\<references */\>)|(\s*\{\{references *\| *[1-9] *\}\})))\s*" "\4\3\3\1\2" -summary:"Ordino [[Wikipedia:Sezioni#Sezioni_predefinite|sezioni predefinite]]"
replace.py -page:"Utente:AushulzBot/Sandbox" -regex "(=+ *Altri progetti *=+)((\s|\S)*)(?<=\n)(=+ *Voci correlate *=+ *(\s*\* *\[\[[a-zA-Z0-9 ]+\]\])+)\s*" "\4\3\3\1\2" "(=+ *Collegamenti esterni *=+)((\s|\S)*)(?<=\n)(=+ *Voci correlate *=+ *(\s*\* *\[\[[a-zA-Z0-9 ]+\]\])+)\s*" "\4\3\3\1\2" -summary:"Ordino [[Wikipedia:Sezioni#Sezioni_predefinite|sezioni predefinite]]"
Casi in cui ha fallito: [1] (Sottosezioni), [2] (altre sezioni inserite in fondo, tra quelle predefinite), [3] (manca l'elenco puntato), [4] (template spezzato con "invio"), [5] (testo nascosto)


Lavori in corso

modifica

Qui sotto sono elencati i lavori che il bot sta svolgendo. Per dare uno sguardo a quelli terminati, vedere Utente:AushulzBot/Fatto.

Coordinate in formato decimale

modifica

Da fare per tutti i comuni spagnoli (richiesta alla mia pagina di discussione di Utente:Carlomorino)   In corso...

replace.py -cat:"Comuni della provincia di Lleida" -namespace:0 -regex "(longitudine= *)([0-9]*)(\s|\S) *([0-9]*)(\s|\S) *O" "longitudine_d= -{{subst:#expr: \2 + (\4/60) round 6}}" "(longitudine= *)([0-9]*)(\s|\S) *([0-9]*)(\s|\S) *E" "longitudine_d= {{subst:#expr: \2 + (\4/60) round 6}}" "(latitudine= *)([0-9]*)(\s|\S) *([0-9]*)(\s|\S) *S" "latitudine_d= -{{subst:#expr: \2 + (\4/60) round 6}}" "(latitudine= *)([0-9]*)(\s|\S) *([0-9]*)(\s|\S) *N" "latitudine_d= {{subst:#expr: \2 + (\4/60) round 6}}" -summary:"Converto coordinate in formato decimale"

Destubizzazione comuni con meno di 10.000 abitanti

modifica

Toglie l'avviso di stub dai comuni con meno di 10.000 abitanti.   In corso... - prima di continuare, vedere Discussioni progetto:Amministrazioni/Comuni italiani e Discussioni portale:Geografia

replace.py -xml:itwiki-20090203-pages-articles.xml -regex "(\{\{[Ss]\|.*\}\})((\S|\s)*)(\| *abitanti *= *((([0-9][.| ])?[0-9])?[0-9])?[0-9]\s)" "\2\4<!-- comuni piccoli non sono stub - cfr. [[Wikipedia:Bar/Discussioni/Comuni francesi e spagnoli: stub?]] -->" -namespace:0 -summary:"comuni piccoli non sono stub - cfr. [[Wikipedia:Bar/Discussioni/Comuni francesi e spagnoli: stub?|qui]]"

Template di navigazione da sostituire con template:Portale

modifica
  • Cancellare "Template:Relatività generale" e "Template:Relatività"
Vedi Categoria:Template di navigazione - Premi Nobel
  • cercare le pagine in cui sono presenti più template:interprogetto e unirli. (tranne che sia presente interprogetto/notizia).
  • CORREZIONE MAIUSCOLE - TEMPLATE PORTALE: controllare aziende e economia
  • INSERIMENTO TEMPLATE PORTALE

Sovraffollate

modifica
  • Inserire il portale Aziende nella categoria "Aziende"   In corso... (mi sono fermato ad alcune categorie)
portale.py -namespace:0 -subcatmod:"Aziende per nazionalit&agrave;" -add:aziende -remove:Aziende -remove:Economia -remove:economia
  • Inserire il portale Biografie in:
  • Inserire il portale Fisica nella categoria "Fisica" (lista da completare)
  • Inserire il portale Biologia nella categoria "Biologia"
  • Inserire il portale Botanica nella categoria "Botanica"   In corso...
portale.py -namespace:0 -cat:"Stub botanici" -add:botanica -add:biografie -remove:Biografie -remove:Botanica -remove:biologia -remove:Biologia -except:"\|[Cc]ategorie" -except:"\| [Cc]ategorie"

Prima di continuare chiedere conferma al Progetto:Pokémon.

(eliminare "Astronomia")

(eliminare "Astronomia")
NB: Anche qui fare massima attenzione a non togliere altri portali che non siano quello Astronomia!!

  • CONTINUARE DA: Cinematografia LGBT
  • SINTASSI (ATTENZIONE: AGIRE MANUALMENTE - Il "remove" serve a indicare i casi in cui bisogna premere "n")
portale.py -namespace:0 -cat:"Cinema sperimentale" -add:cinema -remove:"Guerre Stellari" -remove:"Indiana Jones" -remove:"James Bond" -remove:"Star Trek"
  • ...

Portale: ...

modifica
  • e così via per altri portali...
  • Inserire il template:portale anche nel namespace:categoria, servendosi degli elenchi creati sopra
Vedi: http://botwiki.sno.cc/wiki/Python:Add_text_mod.py e http://botwiki.sno.cc/wiki/Python:Portale.py

Procedure (per Windows XP)

modifica

Scaricare python e pywikipedia

modifica
mylang = 'it'
family = 'wikipedia'
usernames['wikipedia']['it'] = 'AushulzBot'
console_encoding = 'cp850'
use_api = True

Vedi anche: http://it.wiki.x.io/wiki/Discussioni_Wikipedia:Bot#Problema_con_i_bot

Avviare uno script

modifica
cmd.exe
cd C:\pywikipedia
login.py

oppure creare un file .cmd, inserendo ad esempio le righe:

cd C:\pywikipedia
replace.py -log -start:! -namespace:0 -fix:minuscole

In questa maniera, basta creare un collegamento sul desktop e premerlo per fare partire lo script o la regex desiderata, senza bisogno di aprire la finestra dei comandi.

Terminare l'esecuzione di uno script

modifica
  • Per terminare l'esecuzione di uno script, premere CTRL+C

Copiare dalla finestra dei comandi

modifica
  • Per copiare fai tasto destro -> segna e poi seleziona col mouse e premi il tasto invio

Dump - Cosa fare passo passo

modifica
  1. Andare su http://dumps.wikimedia.org/backup-index.html cercare il link "itwiki" ed entrare nella pagina   Fatto
  2. Scaricare il file pages-meta-current.xml.bz2   Fatto
  3. Una volta terminato il download decomprimere l'archivio   Fatto
  4. Scrivere la normale regex e sostituire il "-start:!" con "-xml:itwiki-XXXXXXXX-pages-meta-current.xml"   Fatto
  5. fatto!

Dove ovviamente al posto di XXXXXXX ci sarà la data del vostro dump.

Riavviare un dump

modifica
  • Per continuare un dump interrotto, inserire nel comando (ad esempio replace.py):
-xmlstart:XXXXXXX

dove XXXXXXX è la pagina a cui si era rimasti

Sintassi degli script

modifica

Portale.py

modifica

-always Non chiede il consenso prima di editare. Usare con cautela.
-add:"Foo " Aggiunge Foo alla lista di portali.
-remove:"param" Toglie Foo dalla lista di portali, se presente
-except:"regex" Non processa le pagine che matchano la regex.
-force Processa comunque la pagina, anche se non ci sono cambiamenti nei portali.
-cat:"categoria" Processa le pagine di una categoria
-subcat:"categoria" Processa le pagine di una categoria e le sue dirette sottocategorie
-subcatmod:"categoria" Processa le pagine di una categoria e tutte le sue sottocategorie

vedi: http://botwiki.sno.cc/wiki/Python:Portale.py

Replace.py

modifica

vedi: http://meta.wikimedia.org/wiki/Replace.py

  • ş &#x15f;
  • à &#xe0;

Altri progetti

modifica
 
Wikimedia Foundation
Questa è la pagina personale di un bot autorizzato su Wikipedia
Se trovate questa pagina bot su un sito diverso da Wikipedia si tratta di un clone. In questo caso la pagina potrebbe essere poco aggiornata e il sottoscritto potrebbe non riconoscersi più nei suoi contenuti né desiderare o gradire alcuna affiliazione con il sito che state consultando.
La pagina originale si trova qui: http://it.wiki.x.io/wiki/AushulzBot