Manual:Pywikipediabot/replace.py/ca

From MediaWiki.org
Jump to: navigation, search
Wikimedia-logo-meta.png

This page was moved from MetaWiki.
It probably requires cleanup – please feel free to help out. In addition, some links on the page may be red; respective pages might be found at Meta. Remove this template once cleanup is complete.

Bug blank.svg
Subversion repository of Wikimedia has this file:
Llengua: English  • català • français • magyar • italiano • русский

Replace.py és un mòdul que forma part del marc de treball del Pywikipedia bot.

Aquest bot substitueix text. Recupera informació en aquelles pàgines que necessiten canvis per mig d'un dipòsit XML o un fitxer de text, o sols modifica una pàgina. Per obtenir més informació utilitzeu

python replace.py -help

Contents

Fitxers [edit]

El bot empra tres fitxers adicionals de l'entorn de treball:

replace.py 
el mòdul principal
fixes.py 
alguns arranjaments predefinits
user-fixes.py 
un fitxer personalitzable. El fitxer es crea prèviament buit executant l'ordre generate_user_files.py

Fitxers que poden utilitzar-se per a llegir dades o registrar resultats:

filename.txt 
un fitxer amb una llista d'articles quan s'afegeix el paràmetre "-file"
filename.xml 
un dipòsit XML local quan s'especifica el paràmetre "-xml"
replacelog 
un registre amb un nom quan s'especifica el paràmetre "-log"

Paràmetres [edit]

locals [edit]

Podeu executar replace.py amb els següents paràmetres (per exemple, python replace.py -file:llista_articles.txt "errror" "error").

Source
-xml Recupera informació des d'un dipòsit XML local (pages_current, vegeu http://download.wikimedia.org). L'argument pot donar-se amb "-xml:filename".
-file S'executa en totes les pàgines d'un fitxer local. Es llegiran tots els [[enllaços viqui]] i es carregaran els corresponents articles. L'argument s'especifica amb "-file:nom_del_fitxer".
-cat S'executa en totes les pàgines d'una categoria. L'argument s'especifica amb "-cat:categoryname".
-subcat S'executa com -cat, però inclou també les subcategories.
-transcludes S'executa en totes les pàgines que transclouen una determinada plantilla. L'argument s'especifica amb "-transcludes:referredtemplate", e.g. "-transcludes:esborrany" significa que es realitzarà en aquelles pàgines que contenen la plantilla "esborrany".
-page S'executa en una única pàgina. L'argument s'especifica amb "-page:títol_pàgina". Podeu emprar este paràmetre reiteradament per a executar el bot en múltiples pàgines.
-ref S'executa en totes les pàgines que enllacen a una determinada pàgina. L'argument s'especifica amb "-ref:referredpagetitle".
-filelinks S'executa en pàgines que enllacen a una imatge. L'argument s'espefica amb "-filelinks:ImageName".
-links Treballa sobre una totes les pàgines que enllacen a una determinada pàgina. L'argument s'espefica amb "-links:linkingpagetitle".
-start S'executa en totes les pàgines d'un projecte, començant per la pàgina concretada. Escolliu "-start:!" per començar des del principi. Nota: És aconsellable emprar -xml en lloc d'aquesta opció; pretén ser útil en casos en que no hi ha disponible un dipòsit XML.
Pàràmetres de reemplaçament
-except:XYZ (sols per a versions antigues) Ignora les pàgines que conté XYZ. Si s'especifica l'argument -regex, XYZ és considerada com a una expressió regular.
-excepttitle:XYZ (sols per a versions noves) Ignora les pàgines que conté XYZ. Si s'especifica l'argument -regex, XYZ és considerada com a una expressió regular.
-excepttext:XYZ (sols per a versions noves) Ignora les pàgines que contenen el text. Si s'especifica l'argument -regex, XYZ és considerada com a una expressió regular.
-exceptinside:XYZ (sols per a versions noves) Ingora les coincidències del text a reemplaçar que contenen XYZ. Si s'especifica l'argument -regex, XYZ és considerada com a una expressió regular.
-exceptinsidetag:XYZ (sols per a versions noves) Ignora les coincidències del text a reemplaçar que contenen l'etiqueta XYZ.
-summary:XYZ Estableix el resum d'edició, evitant els resums d'edició per defecte.
-fix:XYZ Executa una de les tasques predefinides, especificades al diccionari 'fixes' dins del fitxer fixes.py o user-fixes.py. L'argument -regex i altres reemplaçaments especificats seran ignorats si empreu -fix. Actualment les esmenes predefinides són:
  • HTML - converteix les etiquetes HTML en sintaxi, i arranja el codi XHTML.
  • syntax - intenta esmenar la sintaxi wiki.
  • case-de - esmena errors de caixa en alemany.
  • grammar-de - esmena errors gramaticals i mencanogràfics en alemany.
-namespace:n S'executa el l'espai de nom corresponent al nombre n. El paràmetre es pot repetir. Funciona per a tots els paràmetres excepte l'argument -start, si desitgeu modificar totes les pàgines d'un espai de noms determinat afegiu el prefix d'este, per exemple, -start:User:!.
sensenom Les substitucions funcionen per parells, denominem sensenom aquelles cadenes que no inclouen un nom de paràmetre.

El primer argument sensenom és el text a recercar, mentre que el segon és text que substituira el primer. Si s'ha especificat l'argument -regex, el primer argument sense nom es tractarà com una expressió regular i l segon podrà contenir expressions com \\1 or \g<name>.

Opcions
-always Evita preguntar per a cada substitució.
-recursive Reemplaçament recursiu fins el possible.
-nocase Activa el mode el qual no distingeix entre majúscules i minúscules (fins i tot per a expressions regulars).
-allowoverlap Substitueix totes les coincidències encara que els diferents patrons s'estiguen aniuant. Compte! No empreu esta opció si no sabeu el que feu, ja que és possible que condueixi a bucles infinits.
-regex Activa el mode per a cerques amb expressions regulars. Si no s'especifica aquest argument el bot farà substitucions de text simples.
Llengua: English  • català • français • magyar • italiano • русский

globals

arg descripció v. per defecte
-family:xyz Estableix la família per a la wiki amb la que desitgeu treballar, on xyz és la família, v.g. wikipedia, wiktionary, commons, wikitravel, …. Esta opció substitueix la configuració del user-config. user-config.py parameter: family
-lang:xx Estableix l'idioma amb el qual desitgeu treballar, substituint la configuració del vostre fitxer de user-config.py on xx és el codi de l'idioma[1]. user-config.py parameter: mylang
-log Habilita el fitxer de registre. Els registres s'emmagatzemaran a la subcarpeta dels registres anomenada logs. user-config.py parameter: log ?
-log:xyz Habilita el fitxer de registre, emprant xyz com a nom de fitxer.
-nolog Deshabilita el registre (si el teniu habilitat per defecte).
-putthrottle:nn
-pt:nn
Estableix el temps mínim (en segons) per a que el bot s'espere entre el desament de diverses pàgines. user-config.py parameter: putthrottle ?
-verbose
-v
Fa que el programa mostre missatges més detallats que l'habitual monitorització estàndard de les accions en procés, o el seu progrés. Pot ser d'ajuda per a una depuració d'errors o mentre tractem situacions inusuals. not selected
  1. Commons necessita 'commons' per lang i family; igualment per a Meta.


Exemples [edit]

Si desitgeu modificar plantilles amb la sintaxi antiga, v.g. {{msg:Esborrany}}, per la nova sintaxi, e.g. {{Stub}}, descarregueu el fitxer dipòsit XML des de http://download.wikimedia.org, i aleshores empreu esta ordre:

python replace.py -xml -regex "{{msg:(.*?)}}" "{{\1}}"

Es poden trobar patrons en més d'una línia:

python replace.py -regex -start:! "Primer a línia\nSegona línia" ""

El replace.py es pot emprar per a inserir o afegir text en una pàgina:

python replace.py -regex '(?ms)^(.*)$' "\1[[Category:NewCat]]"

Si teniu un fitxer dipòsit anomenat diposit.xml i voleu esmenar errors mecanogràfics, v.g. Errror -> Error, empreu esta línia d'ordres:

python replace.py -xml:foobar.xml "Errror" "Error"

Si sabeu d'una pàgina anomenada "Betxí" amb etiquetes HTML i les voleu convertir a sintaxi viqui, feu la següent ordre:

python replace.py -page:John_Doe -fix:HTML

Si no indique els arguments necessaris el programa vos anirà demanant els paràmetres:

python replace.py -file:articles.txt

L'script demana a l'usuari abans de modificar un article els paràmetres de reemplaçament, el resum d'edició, etc. Es remomana fer una doble comprovació per assegurar-se que el bot no insereix errors (especialment tractant-se de correccions ortogràfiques). És possible especificar un conjunt d'articles amb un fitxer extern que continga les pàgines a revisar a mode d'enllaços viqui. Per exemple si desitgeu revisar les pàgines ”avió”, ”vehicle”, ”tren”, i ”cotxe”, haurieu de crear un fitxer de text anomenat articles.txt amb el següent contingut:

 [[avió]]
 [[vehicle]]
 [[tren]]
 [[cotxe]]

Aleshores posarieu la següent ordre:

python replace.py [paràmetres-globals] -file:articles.txt "possar" "posar"

Més que indicar les expressions regulars a la línia d'ordres és preferible afegir-les al fitxer Python user-fixes.py, podent accedir a les dades d'este fitxer de la següent manera:

python replace.py -file:articles.txt -fix:exemple1

El vostre fitxer user-fixes.py hauria de contenir almenys la següent variable:

fixes['exemple1'] = {
    'regex': True,
    'msg': {"exemple1": u"Bot: canviant possar per posar"},
    'replacements': [
        (r"(P|p)ossar", r"\1osar"),
        ]
    }

Example: Replacing multiple paragraphs [edit]

The original text of the page Meta:Sandbox is:

This page is for any tests.

Welcome to the sandbox!

If you want to switch the statement (the second one goes before the first one), you type the following syntax:

replace.py -page:Meta:Sandbox -regex "This page is for any tests.\r\n\r\nWelcome to the sandbox!" "Welcome to the sandbox!\n\nThis page is for any tests."

To add a new line we use \n.

External links [edit]