Script Python para ver resultados das eleições

O TSE tem um site em http://divulgacao.tse.gov.br/ onde são divulgados os dados da apuração das eleições em tempo real. É baseado em json, e é possível baixar os dados facilmente por HTTP para utilizar em aplicativos fora do browser.

Esse script em Python abaixo acessa a página do TSE com a urllib2, interpreta os dados com o módulo json, e aí apresenta os valores a cada minuto através do pynotify, que utiliza o sistema de notificação que existe em todos os gerenciadores de janelas mais modernos… Espero que seja útil para alguém no segundo turno! 🙂

#!/usr/bin/python
#coding:utf-8
import time
import pygtk
pygtk.require('2.0')
import pynotify
if not pynotify.init("Basics"):
    print "Sorry, no notification system detected."
    sys.exit(1)

import urllib2
import json

while True:
    dados = urllib2.urlopen("http://divulgacao.tse.gov.br/dados/br11.json")
    jj = json.load(dados) ## Pega dados json do site, e interpreta
    hora=[jj['r'][0]['dt'], jj['r'][0]['f'], jj['r'][0]['ht']]
    vvinv = 100.0/float(jj['t'][0]['vv'])
    votos=[]
    for x in range(3):
        votos.append( ( jj['c'][x]['nm'], float(jj['c'][x]['v'])*vvinv) )
    n = pynotify.Notification("Eleição %s - %s (%s)"%tuple(hora),
                              "%s \t\t %5.2f%%"%tuple(votos[0]) +"\n"+
                              "%s \t %5.2f%%"%tuple(votos[1])   +"\n"+
                              "%s \t %5.2f%%"%tuple(votos[2])           )

    if not n.show():
        print "Failed to send notification"
        sys.exit(1)

    time.sleep(60)
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s