Usuario:QuBote/Código/1

De Wikiquote, la colección libre de citas y frases célebres.
  • Código para actualizar Plantilla:PortadaPáginas
  • Funciona sobre Python, y Pywikipedia.
  • Licencia: GPL
  • Autor: Garber (disc. · contr. · bloq.)
from __future__ import generators
import sys, re
import wikipedia, pagegenerators, catlib, config
import urllib, time, random

site=wikipedia.getSite()

salida=u"{| style='background-color: #white; font-family:Verdana, Arial, Helvetica, sans-serif; font-size: 100%; border: 0px solid #DCDCDC; text-align: left; padding-left: 7px; -moz-border-radius:10px' \n|- \n| valign='top' align='right' |\n===[[Special:Newpages|Páginas nuevas]]===\n"

time.sleep(1) # <---- PARA CONTROLAR LA VELOCIDAD
######################### NUEVAS PÁGINAS ##################################
wikipedia.output(u"Recibiendo nuevas páginas...")

gen=pagegenerators.NewpagesPageGenerator(50)
numpage=0
for page in gen:
	if numpage >= 12:
		break
	if not(page.isRedirectPage() or page.isDisambig() or page.namespace()!=0):
		textpage =page.get()
		if (re.search(ur"\=\=*", textpage) and re.search(ur"\*", textpage)):
			salida+=u"[[%s]] —\n" %page.title()
			numpage+=1
		else:
			print (u'[[%s]] es un esbozo.' %page.title())
	
salida+=u"[[%s]] \n" %page.title()

time.sleep(20) # <---- PARA CONTROLAR LA VELOCIDAD
########################### PERSONAS #######################################
cat=catlib.Category(wikipedia.Site("es", "wikiquote"), u"Category:Personas")

l2=[]
l=cat.articles()

for j in l:
	l2.append(j.title())
length=len(l2)
	
salida+=u'|- \n| valign="top" align="right" | \n\n===[[:Categoría:Personas|Gente]]=== \n\n'
j=0
pag=random.sample(l2,22)
pag.sort()
while j<= 20:
	salida+=u"[[%s]] —\n" %(pag[j])
	j+=1
	
salida+=u'[[%s]]\n|- \n| valign="top" align="right" | \n\n===[[:Categoría:Obras literarias|Obras literarias]]===\n\n' %(pag[j])

time.sleep(20) # <---- PARA CONTROLAR LA VELOCIDAD
############################### Obras literarias ###################################

cat=catlib.Category(wikipedia.Site("es", "wikiquote"), u"Category:Obras literarias")

l2=[]
l=cat.articles()

for j in l:
	l2.append(j.title())
length=len(l2)
	
j = 0
pag=random.sample(l2,12)
pag.sort()
while j<= 10:
	jpage=wikipedia.Page(site,pag[j])
	if not(jpage.isRedirectPage() or jpage.isDisambig() or jpage.namespace()!=0):
		salida+=u"''[[%s]]'' —\n" %pag[j]
	j+=1
		
salida+=u"''[[%s]]''" %(pag[j])
salida+=u'\n|- \n| valign="top" align="right" | \n\n===[[:Categoría:Historietas|Historietas (cómic)]]===\n\n'

time.sleep(20) # <---- PARA CONTROLAR LA VELOCIDAD
############################### HISTORIETAS ###################################

cat=catlib.Category(wikipedia.Site("es", "wikiquote"), u"Category:Historietas")

l2=[]
l=cat.articles()

for j in l:
	l2.append(j.title())
length=len(l2)
	
j = 0
pag=random.sample(l2,12)
pag.sort()
while j<= 10:
	jpage=wikipedia.Page(site,pag[j])
	if not(jpage.isRedirectPage() or jpage.isDisambig() or jpage.namespace()!=0):
		salida+=u"''[[%s]]'' —\n" %pag[j]
	j+=1
		

salida+=u"''[[%s]]''" %(pag[j])
salida+=u'\n|- \n| valign="top" align="right" | \n\n===[[:Categoría:Ocupaciones|Ocupaciones]]===\n\n'

time.sleep(20) # <---- PARA CONTROLAR LA VELOCIDAD
############################### OCUPACIONES ###################################

cat=catlib.Category(wikipedia.Site("es", "wikiquote"), u"Category:Ocupaciones")
l=cat.subcategories()
l2=[]

for j in l:
	l2.append(j.title())
length=len(l2)

j = 0
pag=random.sample(l2,12)
pag.sort()
while j<= 10:
	nombre=re.sub(ur"Categoría\:(.*?)", ur"\1", pag[j])
	salida+=u"[[:%s|%s]] —\n" %(pag[j], nombre)
	j+=1

nombre=re.sub(ur"Categoría\:(.*?)", ur"\1", pag[j])
salida+=u"[[:%s|%s]] " %(pag[j], nombre)
salida+=u'\n|- \n| valign="top" align="right" | \n\n===[[:Categoría:Proverbios|Proverbios]]===\n\n'

time.sleep(20) # <---- PARA CONTROLAR LA VELOCIDAD
############################### 	PROvERbIOS ###################################

cat=catlib.Category(wikipedia.Site("es", "wikiquote"), u"Category:Proverbios")

l2=[]
l=cat.articles()

for j in l:
	jtitule=j.title()
	if (re.search(ur"Proverbios",jtitule)):
		l2.append(jtitule)
length=len(l2)

j = 0
pag=random.sample(l2,11)
pag.append(u"Proverbios españoles")
pag.sort()
while j<= 10:
	nombre=re.sub(ur"Proverbios (.*?)", ur"\1", pag[j])
	salida+=u"[[%s|%s]] —\n" %(pag[j], nombre.capitalize())
	j+=1

nombre=re.sub(ur"Proverbios (.*?)", ur"\1", pag[j])
salida+=ur"[[%s|%s]] " %(pag[j], nombre.capitalize())
salida+=u'\n|- \n| valign="top" align="right" | \n\n===[[:Categoría:Películas|Películas]]===\n\n'

time.sleep(20) # <---- PARA CONTROLAR LA VELOCIDAD
############################### PELÏCULAS ###################################

cat=catlib.Category(wikipedia.Site("es", "wikiquote"), u"Category:Películas")

l2=[]
l=cat.articles()

for j in l:
	l2.append(j.title())
length=len(l2)

j = 0
pag=random.sample(l2,12)
pag.sort()
while j<= 10:
	jpage=wikipedia.Page(site,pag[j])
	if not(jpage.isRedirectPage() or jpage.isDisambig() or jpage.namespace()!=0):
		salida+=u"''[[%s]]'' —\n" %pag[j]
	j+=1
	
salida+=u"''[[%s]]''" %pag[j]
salida+=u'\n|- \n| valign="top" align="right" | \n\n===[[:Categoría:Programas de televisión|Programas de televisión]]===\n\n'
pag.sort()
time.sleep(20) # <---- PARA CONTROLAR LA VELOCIDAD
############################### TV  ###################################

cat=catlib.Category(wikipedia.Site("es", "wikiquote"), u"Category:Programas de televisión")

l2=[]
l=cat.articles()

for j in l:
	l2.append(j.title())
length=len(l2)
	
j = 0
pag=random.sample(l2,12)
pag.sort()
while j<= 10:
	jpage=wikipedia.Page(site,pag[j])
	if not(jpage.isRedirectPage() or jpage.isDisambig() or jpage.namespace()!=0):
		salida+=u"''[[%s]]'' —\n" %pag[j]
	j+=1
		

salida+=u"''[[%s]]''" %pag[j]
salida+=u'\n|- \n| valign="top" align="right" | \n\n===[[:Categoría:Temas|Temas]]===\n\n'

time.sleep(20) # <---- PARA CONTROLAR LA VELOCIDAD
############################### TEMAS ###################################

l2=[]
categorias= catlib.Category(wikipedia.getSite(), 'Category:Temas')
l=categorias.articles()
for j in l:
	l2.append(j.title())	
	
categorias=categorias.subcategories()
for cat in categorias:
	l=cat.articles()
	for j in l:
		l2.append(j.title())	
length=len(l2)

j = 0
pag=random.sample(l2,20)
pag.sort()
while j<= 18:
	jpage=wikipedia.Page(site,pag[j])
	if not(jpage.isRedirectPage() or jpage.isDisambig() or jpage.namespace()!=0):
		salida+=u"[[%s]] — \n" %pag[j]
	j+=1
		
salida+=u"[[%s]] \n" %pag[j]

salida+=u'|- \n| valign="top" align="right" |\n\n===[[:Categoría:Géneros|Géneros]]===\n\n[[Aforismo]]s —\n[[Epitafios]] —\n[[Eslóganes]] —\n[[Eslóganes institucionales]] —\n[[Eslóganes políticos]] —\n[[Lipogramas]] —\n[[Hipérbole]]s —\n[[Greguerías]] —\n[[Kenningar]] —\n[[Lemas de España]] —\n[[Mnemónicos]] —\n[[Oráculos]] —\n[[Palíndromos]] —\n[[Pangramas]] —\n[[Trabalenguas]]\n|- \n| valign="top" align="right" |\n\n===[[:Categoría:Miscelánea|Miscelánea]]===\n\n<!-- [[Favoritos]] -->\n[[Anónimo]] — \n[[Citas incorrectas]] —\n[[Flickr|Citas de portada de Flickr]] —\n[[Mnemónicos]] —\n[[Murphy]] —\n[[Pregunta del millón]] —\n[[Regla de Oro]] —\n[[Últimas palabras famosas|Últimas palabras]] —\n[[Citas de usuarios]] —\n[[Special:Newpages|<i>Más...</i>]]\n|}\n'

wikipedia.output(u"Escribiendo: %s" %salida)		
wiii = wikipedia.Page(wikipedia.Site("es", "wikiquote"), u"Plantilla:PortadaPáginas")
wiii.put(u"%s" % salida, u"BOT: Actualización automatica de plantilla ")