Manual:Pywikipediabot/replace.py/ca
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.
| 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
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:
|
| -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. |
| IMPORTANT: The content of this page is outdated. Please check the English reference version. If you have checked or updated this page and found the content to be suitable, please remove this notice. |
| 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 |
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:
Es poden trobar patrons en més d'una línia:
El replace.py es pot emprar per a inserir o afegir text en una pàgina:
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:
Si sabeu d'una pàgina anomenada "Betxí" amb etiquetes HTML i les voleu convertir a sintaxi viqui, feu la següent ordre:
Si no indique els arguments necessaris el programa vos anirà demanant els paràmetres:
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:
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:
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]
- The Python Standard Library » Regular expression operations
- Kodos - The Python Regular Expression Debugger - to test regular expressions specifically for python
- Regular-Expression.Info - introduction and comparison of various regex implementations, including python
