Plantilla discusión:ResumenCandidaturasDestacado

Contenido de la página no disponible en otros idiomas.
De Wikipedia, la enciclopedia libre
  • Licencia: GPL
  • Autor: emijrp
import wikipedia,re,urllib

site=wikipedia.Site("es", "wikipedia")

page=wikipedia.Page(site, u"Wikipedia:Candidatos a artículos destacados")

m=re.compile(ur"\{\{(Discusión:([^}]*)/Candidatura a destacado)\}\}").finditer(page.get())

s=u"{| class='wikitable' width='400px' style='font-size: 90%s;text-align: center;float: right;'\n|+ <big><big>'''Candidaturas a destacado'''</big></big>\n! #\n! Artículo\n! Candidatura\n! A favor\n! En contra\n! %s" % ("%", "%")
c=0
send=False
for i in m:
	cafavor=0
	cencontra=0
	candidatura=i.group(1)
	articulo=i.group(2)
	wikipedia.output(u"Analizando: %s" % candidatura)
	p=wikipedia.Page(site, candidatura)
	t=""
	if p.exists() and not p.isRedirectPage():
		t=site.getUrl(site.get_address(p.urlname()))
		#t=site.getUrl("/w/index.php?title=%s" % candidatura)
	else:
		continue
	c+=1
	trozos=t.split("<b>A favor</b></p>")
	trozos=trozos[1]
	trozos=trozos.split("<b>En contra</b></p>")
	afavor=trozos[0]
	trozos=trozos[1]
	trozos=trozos.split("<dt>Comentarios</dt>")
	encontra=trozos[0]
	
	regex=ur"(?mi)^<li>"
	n=re.compile(regex).finditer(afavor)
	
	for j in n:
		cafavor+=1
	
	n=re.compile(regex).finditer(encontra)
	for j in n:
		cencontra+=1
	
	porcentaje=0
	if cafavor+cencontra>0:
		porcentaje=(100.0/(cafavor+cencontra))*cafavor
	if porcentaje>=75:
		s+="\n|-\n| %s || [[%s]] || [[%s|Ver]] || %s || %s || style='background-color:#D0F0C0;' | %.0f%s " % (c, articulo, candidatura, cafavor, cencontra, porcentaje, "%")
	else:
		s+="\n|-\n| %s || [[%s]] || [[%s|Ver]] || %s || %s || style='background-color:#FFC0CB;' | %.0f%s " % (c, articulo, candidatura, cafavor, cencontra, porcentaje, "%")
	
	send=True

s+="\n|-\n| colspan=6 | Actualizado a las {{subst:CURRENTTIME}} (UTC) del {{subst:CURRENTDAY}}/{{subst:CURRENTMONTH}}/{{subst:CURRENTYEAR}} por [[Usuario:Toolserver|Toolserver]]\n|}"

if send:
	wikipedia.output(s)
	page=wikipedia.Page(site, u"Template:ResumenCandidaturasDestacado")
	page.put(s, u"BOT - Actualizando plantilla")