Vés al contingut

Tema de Viquipèdia:La taverna/Tecnicismes

pywikibot: saltar-se una pàgina si té un nom especific

3
Darrera edició del resum per Pere prlpz 16:51, 23 des 2015 fa 8 anys

Dubte resolt

Unapersona (discussiócontribucions)

Estic fent un bot que afegeix enllaços interns a Viquidites. El problema que tinc és que també afegeix els enllaços a la pàgina que té el títol de l'enllaç. És a dir, si ha de posar enllaços per patata també els posa a la pàgina Patata. Si poso això:

if page == 'Patata':
    return

El programa continua "fent la seva", ignorant el return. La variable page la defineixo així:

allpages = pg.AllpagesPageGenerator(site=pwb.Site("ca", "wikiquote"), start="!", namespace=0, includeredirects = True)
pages = pg.PreloadingGenerator(allpages, pageNumber = 100)
for page in pages:
    main(page)
Pere prlpz (discussiócontribucions)

Diria que el problema és que estàs barrejant l'objecte pàgina amb el títol de la pàgina. O sigui, si estic entenent bé el teu programa, el que hauries de fer és:

if page.title()=='Patata':

O alternativament:

if page==pywkibot.Page(site,u'Patata'):

En el primer cas compares dues cadenes de text i en el segon compares dos objectes pàgina. Com ho feies tu comparaves una cadena amb una pàgina i mai eren iguals.

Unapersona (discussiócontribucions)

Ostres, clar! Gràcies per l'ajuda una altra vegada :)