Utente:AushulzBot/Python/4

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca

Modifiche al template:Portale[modifica | modifica wikitesto]

Possibile modo di agire: Per inserire il portale nelle relative categorie, meglio agire un portale per volta: i portali che sono meno frequentati e le cui voci sono senza "template:Portale" vanno svolti prima. Tra questi: Biografie, i sottoportali di Fisica, Aziende e Economia. Poi si può effettuare un controllo tramite bot, scovando se ci sono voci in una determinata categoria che non hanno il template:Portale e agire per la categoria in questione oppure fare una indagine utilizzando "pagina a caso" per capire quali template:portali mancano di più.

Nel seguito sono descritte anche le procedure che riguardano la sistemazione di "template:Portale".


Italia+Europa->Europa nel template:Portale e simili[modifica | modifica wikitesto]

Vedere: Wikipedia:Bar/Discussioni/Modifiche grafiche al template:portale e al template:progetto

Le regex da fare per i soli portali di Geografia sono circa 300. Si parte dalle sostituzioni provincia-regione (47), quindi regione-stato (19), quindi stato-continente (43), quindi continente-geografia (4). Si dovrebbero poi fare altri controlli (che dovrebbero essere meno frequenti), quali: provincia-stato, provincia-continente, provincia-geografia, regione-continente, regione-geografia, stato-geografia.

REGEX MANUALE: (mettere il viceversa)

replace.py -start:! -regex "(?<=\{\{[Pp]ortale\|)([a-zA-Z _àèéìòù\|-]*)(\|[Ee]uropa)([a-zA-Z _àèéìòù\|-]*)([Ii]talia)([a-zA-Z _àèéìòù\|-]*)(?=\}\})" "\1\3\4\5" -namespace:0 -summary:"Italia+Europa->Europa nel [[template:Portale]]"

REGEX PER IL DUMP: (mettere il viceversa)

replace.py -xml:itwiki-20090105-pages-meta-current.xml -regex "(?<=\{\{[Pp]ortale\|)([a-zA-Z _àèéìòù\|-]*)(\|[Ee]uropa)([a-zA-Z _àèéìòù\|-]*)([Ii]talia)([a-zA-Z _àèéìòù\|-]*)(?=\}\})" "\1\3\4\5" -namespace:0 -summary:"Italia+Europa->Europa nel [[template:Portale]]"

CAMPANIA-NAPOLI: Regex per eliminare i portali meno specifici dal template:portale:

replace.py -page:Utente:AushulzBot/PaginaTest -regex "(?<=\{\{[Pp]ortale)([a-zA-Z _àèéìòù\|-]*)([Nn]apoli)([a-zA-Z _àèéìòù\|-]*)(\|[Cc]ampania)([a-zA-Z _àèéìòù\|-]*)(?=\}\})" "\1\2\3\5" "(?<=\{\{[Pp]ortale)([a-zA-Z _àèéìòù\|-]*)(\|[Cc]ampania)([a-zA-Z _àèéìòù\|-]*)([Nn]apoli)([a-zA-Z _àèéìòù\|-]*)(?=\}\})" "\1\3\4\5" "(?<=\{\{[Pp]ortale)([a-zA-Z _àèéìòù\|-]*)([Nn]apoli)([a-zA-Z _àèéìòù\|-]*)(\|[Ii]talia)([a-zA-Z _àèéìòù\|-]*)(?=\}\})" "\1\2\3\5" "(?<=\{\{[Pp]ortale)([a-zA-Z _àèéìòù\|-]*)(\|[Ii]talia)([a-zA-Z _àèéìòù\|-]*)([Nn]apoli)([a-zA-Z _àèéìòù\|-]*)(?=\}\})" "\1\3\4\5" "(?<=\{\{[Pp]ortale)([a-zA-Z _àèéìòù\|-]*)([Nn]apoli)([a-zA-Z _àèéìòù\|-]*)(\|[Ee]uropa)([a-zA-Z _àèéìòù\|-]*)(?=\}\})" "\1\2\3\5" "(?<=\{\{[Pp]ortale)([a-zA-Z _àèéìòù\|-]*)(\|[Ee]uropa)([a-zA-Z _àèéìòù\|-]*)([Nn]apoli)([a-zA-Z _àèéìòù\|-]*)(?=\}\})" "\1\3\4\5" "(?<=\{\{[Pp]ortale)([a-zA-Z _àèéìòù\|-]*)([Nn]apoli)([a-zA-Z _àèéìòù\|-]*)(\|[Gg]eografia)([a-zA-Z _àèéìòù\|-]*)(?=\}\})" "\1\2\3\5" "(?<=\{\{[Pp]ortale)([a-zA-Z _àèéìòù\|-]*)(\|[Gg]eografia)([a-zA-Z _àèéìòù\|-]*)([Nn]apoli)([a-zA-Z _àèéìòù\|-]*)(?=\}\})" "\1\3\4\5" -summary:"Lascio solo i sottoportali, vedi [[Template:Portale]]"


Quella sopra è la forma della regex da utilizzare come prova. Per l'utilizzo con il dump la regex è:

replace.py -xml:itwiki-20090105-pages-meta-current.xml -regex "(?<=\{\{[Pp]ortale)([a-zA-Z _àèéìòù\|-]*)([Nn]apoli)([a-zA-Z _àèéìòù\|-]*)(\|[Cc]ampania)([a-zA-Z _àèéìòù\|-]*)(?=\}\})" "\1\2\3\5" "(?<=\{\{[Pp]ortale)([a-zA-Z _àèéìòù\|-]*)(\|[Cc]ampania)([a-zA-Z _àèéìòù\|-]*)([Nn]apoli)([a-zA-Z _àèéìòù\|-]*)(?=\}\})" "\1\3\4\5" "(?<=\{\{[Pp]ortale)([a-zA-Z _àèéìòù\|-]*)([Nn]apoli)([a-zA-Z _àèéìòù\|-]*)(\|[Ii]talia)([a-zA-Z _àèéìòù\|-]*)(?=\}\})" "\1\2\3\5" "(?<=\{\{[Pp]ortale)([a-zA-Z _àèéìòù\|-]*)(\|[Ii]talia)([a-zA-Z _àèéìòù\|-]*)([Nn]apoli)([a-zA-Z _àèéìòù\|-]*)(?=\}\})" "\1\3\4\5" "(?<=\{\{[Pp]ortale)([a-zA-Z _àèéìòù\|-]*)([Nn]apoli)([a-zA-Z _àèéìòù\|-]*)(\|[Ee]uropa)([a-zA-Z _àèéìòù\|-]*)(?=\}\})" "\1\2\3\5" "(?<=\{\{[Pp]ortale)([a-zA-Z _àèéìòù\|-]*)(\|[Ee]uropa)([a-zA-Z _àèéìòù\|-]*)([Nn]apoli)([a-zA-Z _àèéìòù\|-]*)(?=\}\})" "\1\3\4\5" "(?<=\{\{[Pp]ortale)([a-zA-Z _àèéìòù\|-]*)([Nn]apoli)([a-zA-Z _àèéìòù\|-]*)(\|[Gg]eografia)([a-zA-Z _àèéìòù\|-]*)(?=\}\})" "\1\2\3\5" "(?<=\{\{[Pp]ortale)([a-zA-Z _àèéìòù\|-]*)(\|[Gg]eografia)([a-zA-Z _àèéìòù\|-]*)([Nn]apoli)([a-zA-Z _àèéìòù\|-]*)(?=\}\})" "\1\3\4\5" -namespace:0 -summary:"Lascio solo i sottoportali, vedi [[Template:Portale]]"


La regex in pratica trasforma un template da così:

a così:

  Portale Napoli: accedi alle voci di Wikipedia che trattano di Napoli