Tuitear El Quijote!

[code language=”python”]
import re
import codecs

LIBRO = ‘QUIJOTE’
num_tweet = 1
PATRON = ‘(W)’
LONGITUD_FRAGMENTO = 180
LONGITUD_TWEET = 140
CABECERA = ‘{libro} {num_tweet}. ‘

## Cargo el texto. El original en
## http://www.gutenberg.org/files/2000/old/2donq10.txt
## He suprimido los encabezados, incluyendo el prólogo
## de Cervantes y los sonetos, para empezar por el
## emblemático ‘En un lugar de La Mancha…’ —-
fichero = codecs.open(‘quijote.txt’, ‘r’, ‘utf-8’)
quijote = fichero.read()
fichero.close()

## En este algoritmo, el texto se va recortando por
## su principio según se va usando —-
while quijote:

## Se toman 180 caracteres, que sobren, para recortar —-
quijote_fragmento = quijote[:LONGITUD_FRAGMENTO]

## La cabecera es ‘QUIJOTE 125. ‘, por ejemplo —-
cabecera = CABECERA.format(libro=LIBRO, num_tweet=num_tweet)
longitud_cabecera = len(cabecera)

## Esto serán los caracteres disponibles para tuitear —-
longitud_disponible = LONGITUD_TWEET – longitud_cabecera

## Aquí troceamos por palabras. Si la plantilla incluye
## paréntesis en los grupos de captura, también se guardan
## los separadores. Ver documentación Python:
## https://docs.python.org/3.4/library/re.html —-
pedazos_fragmento = re.split(PATRON, quijote_fragmento)

## Tomamos los, digamos, 20 fragmentos, y vamos quitando
## del final (19, 18…), hasta que el número de caracteres
## que quedan encajan en el espacio disponible —-
for i in range(len(pedazos_fragmento), 0, -1):

tweet_menguante = ”.join(pedazos_fragmento[:i])

if len(tweet_menguante) <= longitud_disponible:
## Cuando ya cabe, unimos cabecera y cuerpo y listo —-
tweet = cabecera + tweet_menguante
num_tweet += 1
quijote = quijote.replace(tweet_menguante, ”, 1)

## Ya podemos salir del bucle de trozos menguantes —-
break

## Aquí imprimimos el tuit, o lo guardamos en una base de datos
## para usarlos ya pretroceados más adelante —-
#print(tweet)
if num_tweet % 100 == 0: print(num_tweet)

[/code]

3 thoughts on “Tuitear El Quijote!”

  1. Diego queremos ponernos en contacto contigo para dar cabida a ésta iniciativa y darla a conocer en la Radio Televisión de Castilla-La Mancha.

    Muchas gracias

Leave a Reply

Your email address will not be published. Required fields are marked *