Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/master'
Browse files Browse the repository at this point in the history
  • Loading branch information
isaacborges committed Jun 12, 2018
2 parents 8beac92 + 4048ab9 commit 5180795
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 38 deletions.
28 changes: 13 additions & 15 deletions radar_parlamentar/importadores/chefes_executivos.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,23 +32,21 @@ def abrir_xml(self):
def presidente_from_tree(self, presidentes_tree):
for presidente in presidentes_tree.getchildren():
if presidente.tag == self.tag_titulo:
nome = presidente.get('Nome')
partido = presidente.get('Partido')
ano_inicio = presidente.get('AnoInicio')
ano_fim = presidente.get('AnoFinal')
genero = presidente.get('Genero')
self.criar_chefe_executivo(
nome, partido, int(ano_inicio), int(ano_fim), genero)

def criar_chefe_executivo(self, nome,
sigla_partido, ano_inicio,
ano_fim, genero):
dado_presidente = {}
dado_presidente['nome'] = presidente.get('Nome')
dado_presidente['sigla_partido'] = presidente.get('Partido')
dado_presidente['ano_inicio'] = int(presidente.get('AnoInicio'))
dado_presidente['ano_fim'] = int(presidente.get('AnoFinal'))
dado_presidente['genero'] = presidente.get('Genero')
self.criar_chefe_executivo(dado_presidente)

def criar_chefe_executivo(self, dado_presidente):
partido = models.Partido()
partido = partido.from_nome(sigla_partido)
partido = partido.from_nome(dado_presidente['sigla_partido'])

chefe = models.ChefeExecutivo(nome=nome, partido=partido,
mandato_ano_inicio=ano_inicio,
mandato_ano_fim=ano_fim, genero=genero)
chefe = models.ChefeExecutivo(nome=dado_presidente['nome'], partido=partido,
mandato_ano_inicio=dado_presidente['ano_inicio'],
mandato_ano_fim=dado_presidente['ano_fim'], genero=dado_presidente['genero'])

self.salvar_chefe_executivo(chefe)

Expand Down
57 changes: 34 additions & 23 deletions radar_parlamentar/importadores/sen.py
Original file line number Diff line number Diff line change
Expand Up @@ -146,15 +146,15 @@ def _find_partido(self, nome_partido):
return partido

def _create_parlamentar(self, parlamentar_list_info):
senador = models.Parlamentar()
senador.id_parlamentar = parlamentar_list_info[0]
senador.nome = parlamentar_list_info[1]
senador.genero = parlamentar_list_info[2]
senador.casa_legislativa = self.senado
senador.partido = parlamentar_list_info[3]
senador.localidade = parlamentar_list_info[4]
senador.save()
return senador
senador = models.Parlamentar()
senador.id_parlamentar = parlamentar_list_info[0]
senador.nome = parlamentar_list_info[1]
senador.genero = parlamentar_list_info[2]
senador.casa_legislativa = self.senado
senador.partido = parlamentar_list_info[3]
senador.localidade = parlamentar_list_info[4]
senador.save()
return senador

def _find_parlamentar(self, voto_parlamentar_tree):
nome_senador = voto_parlamentar_tree.find('NomeParlamentar').text
Expand Down Expand Up @@ -311,6 +311,30 @@ def _add_votacao_to_model(self, votacao_tree):
if self._save_votacao(votacao_tree, votacao):
return True, votacao

def _check_success_state_and_votacao(self, sucess_status, votacao, votacoes):
if sucess_status is True and votacao is not None:
votacoes.append(votacao)

def _append_votacao_if_code_exists_in_model(self, votacao_tree):
votacoes = []
# caso o codigo já exista na model
_, votacoes_query = self._code_exists_in_votacao_in_model(
votacao_tree)
if votacoes_query:
votacao = votacoes_query[0]
votacoes.append(votacao)
else:
sucess_status = self._add_votacao_to_model(votacao_tree)
votacao = sucess_status
self._check_success_state_and_votacao(sucess_status, votacao, votacoes)
return votacoes

def _check_is_not_votacao_or_secreta(self, votacao_tree, votacao_secreta):
votacoes = []
if votacao_tree.tag == 'Votacao' and votacao_secreta == 'N':
votacoes = self._append_votacao_if_code_exists_in_model(votacao_tree)
return votacoes

def _save_votacoes_in_db(self, xml_text):
tree = etree.fromstring(xml_text)

Expand All @@ -323,20 +347,7 @@ def _save_votacoes_in_db(self, xml_text):
return votacoes
for votacao_tree in votacoes_tree:
votacao_secreta = votacao_tree.find('Secreta').text
''' caso nao seja uma votação ou seja uma
votação secreta, a função é encerrada'''
if votacao_tree.tag == 'Votacao' and votacao_secreta == 'N':
# caso o codigo já exista na model
_, votacoes_query = self._code_exists_in_votacao_in_model(
votacao_tree)
if votacoes_query:
votacao = votacoes_query[0]
votacoes.append(votacao)
else:
sucess_status = self._add_votacao_to_model(votacao_tree)
votacao = sucess_status
if sucess_status is True and votacao is not None:
votacoes.append(votacao)
votacoes = self._check_is_not_votacao_or_secreta(votacao_tree, votacao_secreta)

return votacoes

Expand Down

0 comments on commit 5180795

Please sign in to comment.