Skip to content
This repository has been archived by the owner on Aug 7, 2018. It is now read-only.

Commit

Permalink
Bancos de dados sqlite disponíveis para download (#14)
Browse files Browse the repository at this point in the history
  • Loading branch information
leonardofl committed Sep 28, 2012
1 parent 62f3b4a commit 53e4a65
Show file tree
Hide file tree
Showing 7 changed files with 42 additions and 1 deletion.
9 changes: 9 additions & 0 deletions radar_parlamentar/importadores/camara.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,9 @@
import xml.etree.ElementTree as etree
import urllib2

# data em que a lista votadas.txt foi atualizada
ULTIMA_ATUALIZACAO = parse_datetime('2012-06-01 0:0:0')

RESOURCES_FOLDER = 'importadores/dados/'
VOTADAS_FILE_PATH = RESOURCES_FOLDER + 'votadas.txt'

Expand Down Expand Up @@ -124,6 +127,7 @@ def _gera_casa_legislativa(self):
camara_dos_deputados.nome = 'Câmara dos Deputados'
camara_dos_deputados.nome_curto = 'cdep'
camara_dos_deputados.esfera = models.FEDERAL
camara_dos_deputados.atualizacao = ULTIMA_ATUALIZACAO
camara_dos_deputados.save()
return camara_dos_deputados

Expand Down Expand Up @@ -190,7 +194,12 @@ def _votacao_from_xml(self, vot_xml, prop):
self._voto_from_xml(voto_xml, votacao)

votacao.save()
self.progresso()
return votacao

def progresso(self):
"""Indica progresso na tela"""
print 'x',

def _voto_from_xml(self, voto_xml, votacao):
"""Salva voto no banco de dados.
Expand Down
13 changes: 12 additions & 1 deletion radar_parlamentar/importadores/cmsp.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
"""módulo cmsp (Câmara Municipal de São Paulo)
Classes:
ImportadorCMSP -- salva os dados dos arquivos XML da cmsp no banco de dados
ImportadorCMSP
"""

from __future__ import unicode_literals
Expand All @@ -28,6 +28,9 @@
import re
import xml.etree.ElementTree as etree

# data em que os arquivos XMLs foram atualizados
ULTIMA_ATUALIZACAO = parse_datetime('2012-06-01 0:0:0')

# arquivos com os dados fornecidos pela cmsp
XML2010 = 'importadores/dados/cmsp2010.xml'
XML2011 = 'importadores/dados/cmsp2011.xml'
Expand All @@ -54,6 +57,7 @@
# A nao ser q, a cada voto, o parlamentar esteja relacionada tb a todas as suas legislaturas.

class ImportadorCMSP:
"""Salva os dados dos arquivos XML da cmsp no banco de dados"""

def __init__(self, verbose=False):
"""verbose (booleano) -- ativa/desativa prints na tela"""
Expand All @@ -72,6 +76,7 @@ def _gera_casa_legislativa(self):
cmsp.nome_curto = 'cmsp'
cmsp.esfera = models.MUNICIPAL
cmsp.local = 'São Paulo - SP'
cmsp.atualizacao = ULTIMA_ATUALIZACAO
cmsp.save()
return cmsp

Expand Down Expand Up @@ -231,11 +236,17 @@ def _from_xml_to_bd(self, xml_file):
vot.proposicao = prop
if self.verbose:
print 'Votação %s salva' % vot
else:
self.progresso()
vot.save()

votacoes.append(vot)

return votacoes

def progresso(self):
"""Indica progresso na tela"""
print 'x',

def importar(self):
"""Salva informações no banco de dados do Django
Expand Down
2 changes: 2 additions & 0 deletions radar_parlamentar/modelagem/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -118,12 +118,14 @@ class CasaLegislativa(models.Model):
nome_curto -- string; será usado pra gerar links. ex 'cmsp' para 'Câmara Municipal de São Paulo'
esfera -- string (municipal, estadual, federal)
local -- string; ex 'São Paulo' para a CMSP
atualizacao -- data em que a base de dados foi atualizada pea última vez com votações desta casa
"""

nome = models.CharField(max_length=100)
nome_curto = models.CharField(max_length=50, unique=True)
esfera = models.CharField(max_length=10, choices=ESFERAS)
local = models.CharField(max_length=100)
atualizacao = models.DateField(blank=True, null=True)

def __unicode__(self):
return self.nome
Expand Down
1 change: 1 addition & 0 deletions radar_parlamentar/radar_parlamentar/templates/analise.html
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@
À direita do gráfico você encontra a legenda com o número dos partidos e a sigla da legenda.<br/>
O tamanho de cada partido no gráfico representa a quantidade de parlamentares que cada partido possui.<br/>
Veja as movimentações e tire suas próprias conclusões.<br/><br/>
Caso você tenha conhecimentos básicos de banco de dados, você também pode fazer suas próprias análises com SQL usando o banco de dados sqlite com os votos da {{casa_legislativa.nome}}. Faça o <a href="/static/sqlite/{{casa_legislativa.nome_curto}}.db">download aqui</a> (dados atualizados em {{casa_legislativa.atualizacao}}).<br/><br/>
</article>
<div id="form">
<label for="periodos" ACCESSKEY="P">Período</label> <select id="periodos">
Expand Down
Binary file added radar_parlamentar/static/sqlite/cdep.db
Binary file not shown.
Binary file added radar_parlamentar/static/sqlite/cmsp.db
Binary file not shown.
18 changes: 18 additions & 0 deletions radar_parlamentar/static/sqlite/drop_tables.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#!/bin/bash
# Remove tabelas que não importam pra quem quer analisar os dados
# TODO: fazer um for =}

sqlite3 $1 "drop table analises_periodoanalise"
sqlite3 $1 "drop table analises_periodoanalise_posicoes"
sqlite3 $1 "drop table analises_posicaopartido"
sqlite3 $1 "drop table auth_group"
sqlite3 $1 "drop table auth_group_permissions"
sqlite3 $1 "drop table auth_permission"
sqlite3 $1 "drop table auth_user"
sqlite3 $1 "drop table auth_user_groups"
sqlite3 $1 "drop table auth_user_user_permissions"
sqlite3 $1 "drop table django_content_type"
sqlite3 $1 "drop table django_session"
sqlite3 $1 "drop table django_site"


0 comments on commit 53e4a65

Please sign in to comment.