Vai al contenuto

Utente:AushulzBot

Da Wikipedia, l'enciclopedia libera.

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 | modifica wikitesto]
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 | modifica wikitesto]

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 | modifica wikitesto]

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 | modifica wikitesto]

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 | modifica wikitesto]

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

Scaricare python e pywikipedia

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

Vedi anche: http://it.wikipedia.org/wiki/Discussioni_Wikipedia:Bot#Problema_con_i_bot

Avviare uno script

[modifica | modifica wikitesto]
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 | modifica wikitesto]
  • Per terminare l'esecuzione di uno script, premere CTRL+C

Copiare dalla finestra dei comandi

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

Dump - Cosa fare passo passo

[modifica | modifica wikitesto]
  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 | modifica wikitesto]
  • 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 | modifica wikitesto]

-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

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

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

Altri progetti

[modifica | modifica wikitesto]
Wikimedia Foundation
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.wikipedia.org/wiki/AushulzBot