Viquipèdia:Taller de bots 2010/Projectes/Desambiguacions/pagdesambig.py

Aquest programa retorna dues llistes, amb tots els enllaços d'una pàgina de desambiguació donada. La primera té els enllaços en negreta, la segona, els que no en tenen (secundaris).

# -*- coding: utf-8 -*-
import wikipedia,re

def upperprimer(stri):
    spl = stri.split()
    spl[0] = spl[0][0].upper()+spl[0][1:]
    return ' '.join(spl)

def troba(desambig):
    t = desambig.strip('[]')
    if len(t.split('|')) == 2:
       t = t.split('|')[0]
    site = wikipedia.getSite('ca')
    page = wikipedia.Page(site,t)
    text = page.get()
    prin = re.findall("'''\[\[(.*)\]\]'''",text,re.I)
    principals = []
    for x in prin:
        if len(x.split('|')) == 2: principals.append(upperprimer(x.split('|')[0]))
        else: principals.append(upperprimer(x.split('|')[0]))
        
    sec = page.linkedPages()
    secundaris = []
    for p in sec:
        if p.title().replace('Categoria:','') not in principals:
	   secundaris.append(p.title().replace('Categoria:',''))
    return (principals,secundaris)