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

Commit

Permalink
Merge cdaaea3 into 1b4a1fa
Browse files Browse the repository at this point in the history
  • Loading branch information
hpe95 committed May 17, 2018
2 parents 1b4a1fa + cdaaea3 commit 788e262
Show file tree
Hide file tree
Showing 2 changed files with 126 additions and 171 deletions.
215 changes: 44 additions & 171 deletions radar_parlamentar/importadores/conv.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@
from django.utils.dateparse import parse_datetime
from modelagem import models
import logging
import json
import os

logger = logging.getLogger("radar")

Expand All @@ -43,6 +45,7 @@
GIRONDINOS = 'Girondinos'
JACOBINOS = 'Jacobinos'
MONARQUISTAS = 'Monarquistas'
ARQUIVO = os.path.dirname(__file__)


class ImportadorConvencao:
Expand Down Expand Up @@ -89,14 +92,18 @@ def _gera_parlamentares(self):
parlamentar.save()
self.parlamentares[partido.nome].append(parlamentar)

def _gera_proposicao(self, num, descricao):
def _gera_proposicao(self, num, descricao, indexacao=None, ementa=None):
prop = models.Proposicao()
prop.id_prop = num
prop.sigla = 'PL'
prop.numero = num
prop.ementa = descricao
prop.descricao = descricao
prop.casa_legislativa = self.casa
if indexacao is not None and ementa is not None:
prop.indexacao = indexacao
prop.ementa = ementa
else:
prop.ementa = descricao
prop.save()
return prop

Expand All @@ -118,180 +125,46 @@ def _gera_votos(self, votacao, nome_partido, opcoes):
voto.votacao = votacao
voto.save()

def _gera_votacao1(self):

numero_proposicao = '1'
descricao_proposicao = 'Reforma agrária'
prop = self._gera_proposicao(numero_proposicao, descricao_proposicao)
votacao = self._gera_votacao(numero_proposicao, descricao_proposicao,
DATA_NO_PRIMEIRO_SEMESTRE, prop)

votos_girondinos = [models.SIM, models.ABSTENCAO, models.NAO]
self._gera_votos(votacao, GIRONDINOS, votos_girondinos)

votos_jacobinos = [models.SIM, models.SIM, models.SIM]
self._gera_votos(votacao, JACOBINOS, votos_jacobinos)

votos_monarquistas = [models.NAO, models.NAO, models.NAO]
self._gera_votos(votacao, MONARQUISTAS, votos_monarquistas)

def _gera_votacao2(self):

numero_proposicao = '2'
descricao_proposicao = 'Aumento da pensão dos nobres'
prop = self._gera_proposicao(numero_proposicao, descricao_proposicao)
votacao = self._gera_votacao(numero_proposicao, descricao_proposicao,
DATA_NO_PRIMEIRO_SEMESTRE, prop)

votos_girondinos = [models.NAO, models.NAO, models.NAO]
self._gera_votos(votacao, GIRONDINOS, votos_girondinos)

votos_jacobinos = [models.NAO, models.NAO, models.NAO]
self._gera_votos(votacao, JACOBINOS, votos_jacobinos)

votos_monarquistas = [models.SIM, models.SIM, models.SIM]
self._gera_votos(votacao, MONARQUISTAS, votos_monarquistas)

def _gera_votacao3(self):

numero_proposicao = '3'
descricao_proposicao = 'Institui o Dia de Carlos Magno'
prop = self._gera_proposicao(numero_proposicao, descricao_proposicao)
votacao = self._gera_votacao(numero_proposicao, descricao_proposicao,
DATA_NO_PRIMEIRO_SEMESTRE, prop)

votos_girondinos = [models.NAO, models.NAO, models.SIM]
self._gera_votos(votacao, GIRONDINOS, votos_girondinos)

votos_jacobinos = [models.NAO, models.NAO, models.NAO]
self._gera_votos(votacao, JACOBINOS, votos_jacobinos)

votos_monarquistas = [models.SIM, models.SIM, models.SIM]
self._gera_votos(votacao, MONARQUISTAS, votos_monarquistas)

def _gera_votacao4(self):

numero_proposicao = '4'
descricao_proposicao = 'Diminuição de impostos sobre a indústria'
prop = self._gera_proposicao(numero_proposicao, descricao_proposicao)
votacao = self._gera_votacao(numero_proposicao, descricao_proposicao,
DATA_NO_PRIMEIRO_SEMESTRE, prop)

votos_girondinos = [models.SIM, models.SIM, models.SIM]
self._gera_votos(votacao, GIRONDINOS, votos_girondinos)

votos_jacobinos = [models.SIM, models.ABSTENCAO, models.NAO]
self._gera_votos(votacao, JACOBINOS, votos_jacobinos)

votos_monarquistas = [models.SIM, models.NAO, models.AUSENTE]
self._gera_votos(votacao, MONARQUISTAS, votos_monarquistas)

def _gera_votacao5(self):

numero_proposicao = '5'
descricao_proposicao = 'Guilhotinar o Conde Pierre'
prop = self._gera_proposicao(numero_proposicao, descricao_proposicao)
votacao = self._gera_votacao(numero_proposicao, descricao_proposicao,
DATA_NO_SEGUNDO_SEMESTRE, prop)

votos_girondinos = [models.SIM, models.SIM, models.ABSTENCAO]
self._gera_votos(votacao, GIRONDINOS, votos_girondinos)

votos_jacobinos = [models.SIM, models.SIM, models.SIM]
self._gera_votos(votacao, JACOBINOS, votos_jacobinos)

votos_monarquistas = [models.NAO, models.NAO, models.NAO]
self._gera_votos(votacao, MONARQUISTAS, votos_monarquistas)

def _gera_votacao6(self):

numero_proposicao = '6'
descricao_proposicao = 'Criação de novas escolas'
prop = self._gera_proposicao(numero_proposicao, descricao_proposicao)
votacao = self._gera_votacao(numero_proposicao, descricao_proposicao,
DATA_NO_SEGUNDO_SEMESTRE, prop)

votos_girondinos = [models.SIM, models.SIM, models.SIM]
self._gera_votos(votacao, GIRONDINOS, votos_girondinos)

votos_jacobinos = [models.SIM, models.SIM, models.SIM]
self._gera_votos(votacao, JACOBINOS, votos_jacobinos)

votos_monarquistas = [models.AUSENTE, models.SIM, models.SIM]
self._gera_votos(votacao, MONARQUISTAS, votos_monarquistas)

def _gera_votacao7(self):

numero_proposicao = '7'
descricao_proposicao = 'Aumento do efetivo militar'
prop = self._gera_proposicao(numero_proposicao, descricao_proposicao)
votacao = self._gera_votacao(numero_proposicao, descricao_proposicao,
DATA_NO_SEGUNDO_SEMESTRE, prop)

votos_girondinos = [models.SIM, models.SIM, models.ABSTENCAO]
self._gera_votos(votacao, GIRONDINOS, votos_girondinos)

votos_jacobinos = [models.SIM, models.SIM, models.SIM]
self._gera_votos(votacao, JACOBINOS, votos_jacobinos)

votos_monarquistas = [models.SIM, models.AUSENTE, models.SIM]
self._gera_votos(votacao, MONARQUISTAS, votos_monarquistas)

# votação com atributos diferentes para teste
def _gera_votacao8(self):

numero_proposicao = '8'
descricao_proposicao = 'Guerra contra a Inglaterra'
prop = models.Proposicao()
prop.id_prop = numero_proposicao
prop.sigla = 'PL'
prop.numero = numero_proposicao
prop.ementa = 'o uso proibido de armas químicas'
prop.descricao = 'descricao da guerra'
prop.casa_legislativa = self.casa
prop.indexacao = 'bombas, efeitos, destruições'
prop.save()
votacao = self._gera_votacao(numero_proposicao, descricao_proposicao,
DATA_NO_SEGUNDO_SEMESTRE, prop)

votos_girondinos = [models.NAO, models.NAO, models.NAO]
self._gera_votos(votacao, GIRONDINOS, votos_girondinos)

votos_jacobinos = [models.ABSTENCAO, models.NAO, models.NAO]
self._gera_votos(votacao, JACOBINOS, votos_jacobinos)

votos_monarquistas = [models.SIM, models.AUSENTE, models.SIM]
self._gera_votos(votacao, MONARQUISTAS, votos_monarquistas)

def _gera_votacao9(self):
numero_proposicao = '9'
descricao_proposicao = 'Contratar médicos para a capital'
prop = self._gera_proposicao(numero_proposicao, descricao_proposicao)
votacao = self._gera_votacao(numero_proposicao, descricao_proposicao,
DATA_VOTACAO_9, prop)

votos_girondinos = [models.SIM, models.SIM, models.ABSTENCAO]
self._gera_votos(votacao, GIRONDINOS, votos_girondinos)

votos_jacobinos = [models.SIM, models.SIM, models.SIM]
self._gera_votos(votacao, JACOBINOS, votos_jacobinos)

votos_monarquistas = [models.SIM, models.AUSENTE, models.SIM]
self._gera_votos(votacao, MONARQUISTAS, votos_monarquistas)
def _obtem_dados_json(self):
data = None
with open(os.path.join(ARQUIVO, 'votacoes.json')) as arquivo:
data = json.load(arquivo)
if data is None:
data = {"votacao_params": {}}
return data

def _gera_votacao_geral(self):
data = self._obtem_dados_json()
votacoes_params = data.get("votacoes_params")
for index, valor in enumerate(votacoes_params):
numero_prop = str(index+1)
descricao_prop = valor["descricao"]
prop = valor.get("prop")
if prop is not None:
valor_prop = valor.get("prop")
descricao = valor_prop.get("descricao_extra")
indexacao = valor_prop.get("indexacao")
ementa = valor_prop.get("ementa")
prop = self._gera_proposicao(
numero_prop,
descricao,
indexacao,
ementa)
else:
prop = self._gera_proposicao(numero_prop, descricao_prop)
votacao = self._gera_votacao(
numero_prop,
descricao_prop,
DATA_NO_PRIMEIRO_SEMESTRE, prop)
partidos = valor["partidos"]
for partido, votos in partidos.items():
self._gera_votos(votacao, partido, votos)

def importar(self):
self.casa = self._gera_casa_legislativa()
self._gera_partidos()
self._gera_parlamentares()
self._gera_votacao1()
self._gera_votacao2()
self._gera_votacao3()
self._gera_votacao4()
self._gera_votacao5()
self._gera_votacao6()
self._gera_votacao7()
self._gera_votacao8()
self._gera_votacao9()
self._gera_votacao_geral()
self._gera_proposicao('10', 'Legalizacao da maconha')


Expand Down
82 changes: 82 additions & 0 deletions radar_parlamentar/importadores/votacoes.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
{
"votacoes_params": [
{
"descricao": "Reforma agrária",
"partidos": {
"Girondinos": ["SIM", "ABSTENCAO", "NAO"],
"Jacobinos": ["SIM","SIM","SIM"],
"Monarquistas": ["NAO","NAO","NAO"]
}
},
{
"descricao": "Aumento da pensão dos nobres",
"partidos": {
"Girondinos": ["NAO", "NAO", "NAO"],
"Jacobinos": ["NAO","NAO","NAO"],
"Monarquistas": ["SIM","SIM","SIM"]
}
},
{
"descricao": "Institui o Dia de Carlos Magno",
"partidos": {
"Girondinos": ["NAO", "NAO", "SIM"],
"Jacobinos": ["NAO","NAO","NAO"],
"Monarquistas": ["SIM","SIM","SIM"]
}
},
{
"descricao": "Diminuição de impostos sobre a indústria",
"partidos": {
"Girondinos": ["SIM", "SIM", "SIM"],
"Jacobinos": ["SIM","ABSTENCAO","NAO"],
"Monarquistas": ["SIM","NAO","AUSENTE"]
}
},
{
"descricao": "Guilhotinar o Conde Pierre",
"partidos": {
"Girondinos": ["SIM", "SIM", "ABSTENCAO"],
"Jacobinos": ["SIM","SIM","SIM"],
"Monarquistas": ["NAO","NAO","NAO"]
}
},
{
"descricao": "Criação de novas escolas",
"partidos": {
"Girondinos": ["SIM", "SIM", "SIM"],
"Jacobinos": ["SIM","SIM","SIM"],
"Monarquistas": ["AUSENTE","SIM","SIM"]
}
},
{
"descricao": "Aumento do efetivo militar",
"partidos": {
"Girondinos": ["SIM", "SIM", "ABSTENCAO"],
"Jacobinos": ["SIM","SIM","SIM"],
"Monarquistas": ["SIM","AUSENTE","SIM"]
}
},
{
"descricao": "Guerra contra a Inglaterra",
"partidos": {
"Girondinos": ["SIM", "SIM", "ABSTENCAO"],
"Jacobinos": ["SIM","SIM","SIM"],
"Monarquistas": ["SIM","AUSENTE","SIM"]
},
"prop": {
"sigla": "PL",
"ementa": "o uso proibido de armas químicas",
"descricao_extra": "descricao da guerra",
"indexacao": "bombas, efeitos, destruições"
}
},
{
"descricao": "Contratar médicos para a capital",
"partidos": {
"Girondinos": ["SIM", "SIM", "ABSTENCAO"],
"Jacobinos": ["SIM","SIM","SIM"],
"Monarquistas": ["SIM","AUSENTE","SIM"]
}
}
]
}

0 comments on commit 788e262

Please sign in to comment.