def setUpClass(cls): # Criando dados fictícios no mock partidoTest1 = models.Partido(nome='PMDB', numero='40') partidoTest2 = models.Partido(nome='PT', numero='13') partidoTest3 = models.Partido(nome='PSDB', numero='23') partidoTest1.save() partidoTest2.save() partidoTest3.save() parlamentarTest1 = models.Parlamentar( id_parlamentar='', nome='Ivandro Cunha Lima', genero='') parlamentarTest2 = models.Parlamentar( id_parlamentar='', nome='Fernando Ferro', genero='') parlamentarTest3 = models.Parlamentar( id_parlamentar='', nome='Humberto Costa', genero='') parlamentarTest1.save() parlamentarTest2.save() parlamentarTest3.save() casa_legislativaTest1 = models.CasaLegislativa( nome='Camara dos Deputados', nome_curto='cdep', esfera='FEDERAL', local='', atualizacao='2012-06-01') casa_legislativaTest2 = models.CasaLegislativa( nome='Camara Municipal de Sao Paulo', nome_curto='cmsp', esfera='MUNICIPAL', local='Sao Paulo - SP', atualizacao='2012-12-31') casa_legislativaTest1.save() casa_legislativaTest2.save() legislaturaTest1 = models.Legislatura( parlamentar=parlamentarTest1, casa_legislativa=casa_legislativaTest1, inicio='2004-01-01', fim='2012-07-01', partido=partidoTest1, localidade='PB') legislaturaTest1.save() # Exportando dados do mock para os xml # exportar.serialize_partido() # exportar.serialize_parlamentar() # exportar.serialize_casa_legislativa() # exportar.serialize_legislatura() # Deletando os registros do mock partidoTest1.delete() partidoTest2.delete() partidoTest3.delete() parlamentarTest1.delete() parlamentarTest2.delete() parlamentarTest3.delete() casa_legislativaTest1.delete() casa_legislativaTest2.delete() legislaturaTest1.delete()
def setUpClass(cls): '''Metodo responsavel por setar o que for necessario para rodar os testes. No nosso a criacao dos objetos no banco de testes''' partidoTest1 = models.Partido(nome='PMDB', numero='40') partidoTest2 = models.Partido(nome='PT', numero='13') partidoTest3 = models.Partido(nome='PSDB', numero='23') partidoTest1.save() partidoTest2.save() partidoTest3.save() parlamentarTest1 = models.Parlamentar( id_parlamentar='', nome='Ivandro Cunha Lima', genero='') parlamentarTest2 = models.Parlamentar( id_parlamentar='', nome='Fernando Ferro', genero='') parlamentarTest3 = models.Parlamentar( id_parlamentar='', nome='Humberto Costa', genero='') parlamentarTest1.save() parlamentarTest2.save() parlamentarTest3.save() casa_legislativaTest1 = models.CasaLegislativa( nome='Camara dos Deputados', nome_curto='cdep', esfera='FEDERAL', local='', atualizacao='2012-06-01') casa_legislativaTest2 = models.CasaLegislativa( nome='Camara Municipal de Sao Paulo', nome_curto='cmsp', esfera='MUNICIPAL', local='Sao Paulo - SP', atualizacao='2012-12-31') casa_legislativaTest1.save() casa_legislativaTest2.save() legislaturaTest1 = models.Legislatura( parlamentar=parlamentarTest1, casa_legislativa=casa_legislativaTest1, inicio='2004-01-01', fim='2012-07-01', partido=partidoTest1, localidade='PB') legislaturaTest1.save() proposicaoTest1 = models.Proposicao() proposicaoTest1.id_prop = '5555' proposicaoTest1.sigla = 'PL' proposicaoTest1.numero = '4520' proposicaoTest1.casa_legislativa = casa_legislativaTest1 proposicaoTest1.save() votacaoTest1 = models.Votacao( id_vot=' 12345', descricao='Teste da votacao', data='1900-12-05', resultado='Teste', proposicao=proposicaoTest1) votacaoTest1.save() votoTest1 = models.Voto( votacao=votacaoTest1, legislatura=legislaturaTest1, opcao='TESTE') votoTest1.save() exportar.main()
def test_recupera_proposicoes(self): casa_legislativa = models.CasaLegislativa() casa_legislativa.id = 1 filtro_votacao = filtro.FiltroVotacao() proposicoes = filtro_votacao._recupera_proposicoes(casa_legislativa) self.assertEquals(9, len(proposicoes))
def _gera_casa_legislativa(self): conv = models.CasaLegislativa() conv.nome = 'Convenção Nacional Francesa' conv.nome_curto = 'conv' conv.esfera = models.FEDERAL conv.local = 'Paris (FR)' conv.save() return conv
def salvar_cmsp(self): cmsp = models.CasaLegislativa() cmsp.nome = 'Câmara Municipal de São Paulo' cmsp.nome_curto = 'cmsp' cmsp.esfera = models.MUNICIPAL cmsp.local = 'São Paulo - SP' cmsp.save() return cmsp
def save_cmsp(self): cmsp = models.CasaLegislativa() cmsp.nome = 'Câmara Municipal de São Paulo' cmsp.nome_curto = 'cmsp' cmsp.esfera = models.MUNICIPAL cmsp.local = 'São Paulo - SP' cmsp.atualizacao = ULTIMA_ATUALIZACAO cmsp.save() return cmsp
def _new_legislative_house(self): conv = models.CasaLegislativa() conv.nome = 'Convenção Nacional Francesa' conv.short_name = 'conv' conv.esfera = models.FEDERAL conv.local = 'Paris (FR)' conv.atualizacao = LAST_REFRESH conv.save() return conv
def _gera_casa_legislativa(self): """Gera objeto do tipo CasaLegislativa representando a CMSP""" cmsp = models.CasaLegislativa() cmsp.nome = 'Câmara Municipal de São Paulo' cmsp.nome_curto = 'cmsp' cmsp.esfera = models.MUNICIPAL cmsp.local = 'São Paulo - SP' cmsp.atualizacao = ULTIMA_ATUALIZACAO cmsp.save() return cmsp
def gera_senado(self): """Gera objeto do tipo CasaLegislativa representando o Senado""" if not models.CasaLegislativa.objects.filter(nome_curto=NOME_CURTO): sen = models.CasaLegislativa() sen.nome = 'Senado' sen.nome_curto = NOME_CURTO sen.esfera = models.FEDERAL sen.save() else: sen = models.CasaLegislativa.objects.get(nome_curto=NOME_CURTO) return sen
def _gera_casa_legislativa(self): """Gera objeto do tipo CasaLegislativa Câmara dos Deputados e o salva no banco de dados. Caso cdep já exista no banco de dados, retorna o objeto já existente. """ count_cdep = models.CasaLegislativa.objects.filter( nome_curto='cdep').count() if not count_cdep: camara_dos_deputados = models.CasaLegislativa() camara_dos_deputados.nome = 'Câmara dos Deputados' camara_dos_deputados.nome_curto = 'cdep' camara_dos_deputados.esfera = models.FEDERAL camara_dos_deputados.save() return camara_dos_deputados else: return models.CasaLegislativa.objects.get(nome_curto='cdep')
def generate_senate(self): """Generate object by CasaLegislativa type representing the Senate""" if not models.CasaLegislativa.objects.filter(nome_curto=NOME_CURTO): # Receive data of CasaLegislativa's class, from 'models'. senator_lesgislative_house = models.CasaLegislativa() senator_lesgislative_house.nome = 'Senado' senator_lesgislative_house.nome_curto = NOME_CURTO senator_lesgislative_house.esfera = models.FEDERAL senator_lesgislative_house.atualizacao = ULTIMA_ATUALIZACAO senator_lesgislative_house.save() else: senator_lesgislative_house = models.CasaLegislativa.objects.get( nome_curto=NOME_CURTO) return senator_lesgislative_house
def _gera_casa_legislativa(self): """Gera objeto do tipo CasaLegislativa representando a Câmara dos Deputados e o salva no banco de dados. Caso cdep já exista no banco de dados, retorna o objeto já existente. """ if (models.CasaLegislativa.objects.filter( nome_curto='cdep').count() == 0): camara_dos_deputados = models.CasaLegislativa() 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 else: return models.CasaLegislativa.objects.get(nome_curto='cdep')
def _gera_casa_legislativa(self): """Gera objeto do tipo CasaLegislativa Câmara dos Deputados e o salva no banco de dados. Caso cdep já exista no banco de dados, retorna o objeto já existente. """ LOCK_TO_CREATE_CASA.acquire() count_cdep = models.CasaLegislativa.objects.filter( nome_curto='cdep').count() if (count_cdep == 0): camara_dos_deputados = models.CasaLegislativa() 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() LOCK_TO_CREATE_CASA.release() return camara_dos_deputados else: LOCK_TO_CREATE_CASA.release() return models.CasaLegislativa.objects.get(nome_curto='cdep')
def _gera_casa_legislativa(self): """Creates object likes CasaLegislativa, Chamber of Deputies and save in database. If cdep already exists in the database, returns the existing object.""" LOCK_TO_CREATE_CASA.acquire() count_cdep = models.CasaLegislativa.objects.filter( nome_curto='cdep').count() no_records = 0 if (count_cdep == no_records): deputies_chamber = models.CasaLegislativa() deputies_chamber.nome = 'Câmara dos Deputados' deputies_chamber.nome_curto = 'cdep' deputies_chamber.esfera = models.FEDERAL deputies_chamber.atualizacao = LAST_UPDATE deputies_chamber.save() LOCK_TO_CREATE_CASA.release() return deputies_chamber else: LOCK_TO_CREATE_CASA.release() return models.CasaLegislativa.objects.get(nome_curto='cdep')
def carrega_xml(self, nome_curto): diretorio = RESOURCES_FOLDER + nome_curto + '.xml' try: tree = etree.parse(diretorio) root = tree.getroot() except Exception: print "Xml não encontrado" return None models.CasaLegislativa.deleta_casa(nome_curto) print "Voltei" casaLegislativa = models.CasaLegislativa() casaLegislativa.nome_curto = root.attrib.get("nome_curto") #if(models.CasaLegislativa.objects.get(nome_curto = casaLegislativa.nome_curto)): #models.deleta_casa(casaLegislativa.nome_curto) casaLegislativa.nome = root.attrib.get("nome") casaLegislativa.esfera = root.attrib.get("esfera") casaLegislativa.local = root.attrib.get("local") casaLegislativa.atualizacao = root.attrib.get("atualizacao") casaLegislativa.save() for child_proposicao in root.iter("Proposicao"): proposicao = models.Proposicao() proposicao.casa_legislativa = casaLegislativa proposicao.id_prop = child_proposicao.attrib.get("id_prop") proposicao.sigla = child_proposicao.attrib.get("sigla") proposicao.numero = child_proposicao.attrib.get("numero") proposicao.ano = child_proposicao.attrib.get("ano") proposicao.ementa = child_proposicao.attrib.get("ementa") proposicao.descricao = child_proposicao.attrib.get("descricao") proposicao.indexacao = child_proposicao.attrib.get("indexacao") if (child_proposicao.attrib.get("data_apresentacao") == "None"): #Valor default caso a data venha em branco proposicao.data_apresentacao = "1900-01-01" proposicao.save() else: proposicao.data_apresentacao = child_proposicao.attrib.get( "data_apresentacao") proposicao.save() #Pega a filha da subarvore que está sendo percorrida. for child_votacao in child_proposicao.findall("Votacao"): votacao = models.Votacao() votacao.proposicao = proposicao votacao.id_votacao = child_votacao.attrib.get("id_votacao") votacao.id_vot = child_votacao.attrib.get("id_vot") votacao.descricao = child_votacao.attrib.get("descricao") votacao.data = child_votacao.attrib.get("data") votacao.resultado = child_votacao.attrib.get("resultado") votacao.save() #self.verifica_votacao = True for child_voto in child_votacao.findall("Voto"): partido = models.Partido() partido.numero = child_voto.attrib.get("numero") partido.nome = child_voto.attrib.get("partido") partido_existente = models.Partido.objects.filter( numero=partido.numero, nome=partido.nome) if len(partido_existente) > 0: partido = partido_existente[0] else: partido.save() parlamentar = models.Parlamentar() parlamentar.nome = child_voto.attrib.get("nome") parlamentar.id_parlamentar = child_voto.attrib.get( "id_parlamentar") parlamentar.genero = child_voto.attrib.get("genero") parlamentar_existente = models.Parlamentar.objects.filter( nome=parlamentar.nome, id_parlamentar=parlamentar.id_parlamentar, genero=parlamentar.genero) if len(parlamentar_existente) > 0: parlamentar = parlamentar_existente[0] else: parlamentar.save() legislatura = models.Legislatura() legislatura.partido = partido legislatura.parlamentar = parlamentar legislatura.casa_legislativa = casaLegislativa legislatura.inicio = child_voto.attrib.get("inicio") legislatura.fim = child_voto.attrib.get("fim") legislatura.localidade = child_voto.attrib.get( "localidade") if legislatura.localidade == None: legislatura.localidade = "" else: legislatura.localidade = "" + legislatura.localidade legislatura_existente = models.Legislatura.objects.filter( partido=legislatura.partido, parlamentar=legislatura.parlamentar, casa_legislativa=legislatura.casa_legislativa, inicio=legislatura.inicio, fim=legislatura.fim) if len(legislatura_existente) > 0: legislatura = legislatura_existente[0] else: legislatura.save() voto = models.Voto() voto.votacao = votacao voto.legislatura = legislatura voto.opcao = child_voto.attrib.get("opcao") voto.save()
def setUpClass(cls): # Creating dummy data in mock: partyTest1 = models.Partido(nome='PMDB', numero='40') partyTest2 = models.Partido(nome='PT', numero='13') partyTest3 = models.Partido(nome='PSDB', numero='23') partyTest1.save() partyTest2.save() partyTest3.save() parliamentarianTest1 = models.Parlamentar(id_parlamentar='', nome='Ivandro Cunha Lima', genero='') parliamentarianTest2 = models.Parlamentar(id_parlamentar='', nome='Fernando Ferro', genero='') parliamentarianTest3 = models.Parlamentar(id_parlamentar='', nome='Humberto Costa', genero='') parliamentarianTest1.save() parliamentarianTest2.save() parliamentarianTest3.save() legislative_houseTest1 = models.CasaLegislativa( nome='Camara dos Deputados', nome_curto='cdep', esfera='FEDERAL', local='', atualizacao='2012-06-01') legislative_houseTest2 = models.CasaLegislativa( nome='Camara Municipal de Sao Paulo', nome_curto='cmsp', esfera='MUNICIPAL', local='Sao Paulo - SP', atualizacao='2012-12-31') legislative_houseTest1.save() legislative_houseTest2.save() legislatureTest1 = models.Legislatura( parlamentar=parliamentarianTest1, casa_legislativa=legislative_houseTest1, inicio='2004-01-01', fim='2012-07-01', partido=partyTest1, localidade='PB') legislatureTest1.save() propositionTest1 = models.Proposicao() propositionTest1.id_prop = '5555' propositionTest1.sigla = 'PL' propositionTest1.numero = '4520' propositionTest1.casa_legislativa = legislative_houseTest1 propositionTest1.save() votingTest1 = models.Votacao(id_vot=' 12345', descricao='Teste da votacao', data='1900-12-05', resultado='Teste', proposicao=propositionTest1) votingTest1.save() voteTest1 = models.Voto(votacao=votingTest1, legislatura=legislatureTest1, opcao='TESTE') voteTest1.save() # Exporting the mocks's data to XMLs: exportar.serialize_partido() exportar.serialize_parlamentar() exportar.serialize_casa_legislativa() exportar.serialize_legislatura() exportar.serialize_proposicao() exportar.serialize_votacao() exportar.serialize_voto() # Deleting records of mock: partyTest1.delete() partyTest2.delete() partyTest3.delete() parliamentarianTest1.delete() parliamentarianTest2.delete() parliamentarianTest3.delete() legislative_houseTest1.delete() legislative_houseTest2.delete() legislatureTest1.delete() propositionTest1.delete() votingTest1.delete() voteTest1.delete()
def setUpClass(cls): """Method to set responsible for what is needed to run the tests. In this case, the creation of objects in the test bank.""" testParty1 = models.Partido(nome='PMDB', numero='40') testParty2 = models.Partido(nome='PT', numero='13') partyTest3 = models.Partido(nome='PSDB', numero='23') testParty1.save() testParty2.save() partyTest3.save() parliamentaryTest1 = models.Parlamentar(id_parlamentar='', nome='Ivandro Cunha Lima', genero='') parliamentaryTest2 = models.Parlamentar(id_parlamentar='', nome='Fernando Ferro', genero='') parliamentaryTest3 = models.Parlamentar(id_parlamentar='', nome='Humberto Costa', genero='') parliamentaryTest1.save() parliamentaryTest2.save() parliamentaryTest3.save() legislative_houseTest1 = models.CasaLegislativa( nome='Camara dos Deputados', nome_curto='cdep', esfera='FEDERAL', local='', atualizacao='2012-06-01') legislative_houseTest2 = models.CasaLegislativa( nome='Camara Municipal de Sao Paulo', nome_curto='cmsp', esfera='MUNICIPAL', local='Sao Paulo - SP', atualizacao='2012-12-31') legislative_houseTest1.save() legislative_houseTest2.save() legislatureTest1 = models.Legislatura( parlamentar=parliamentaryTest1, casa_legislativa=legislative_houseTest1, inicio='2004-01-01', fim='2012-07-01', partido=testParty1, localidade='PB') legislatureTest1.save() propositionTest1 = models.Proposicao() propositionTest1.id_prop = '5555' propositionTest1.sigla = 'PL' propositionTest1.numero = '4520' propositionTest1.casa_legislativa = legislative_houseTest1 propositionTest1.save() votingTest1 = models.Votacao(id_vot=' 12345', descricao='Teste da votacao', data='1900-12-05', resultado='Teste', proposicao=propositionTest1) votingTest1.save() voteTest1 = models.Voto(votacao=votingTest1, legislatura=legislatureTest1, opcao='TESTE') voteTest1.save() exportar.main()
def carrega_xml(self, short_name): directory = RESOURCES_FOLDER + short_name + '.xml' try: tree = etree.parse(directory) root = tree.getroot() except Exception: logger.error("Arquivo não encontrado: %s.xml" % short_name) print "Xml não encontrado" return None models.CasaLegislativa.remove_house(short_name) print "Voltei" legislativeHouse = models.CasaLegislativa() legislativeHouse.nome_curto = root.attrib.get("short_name") legislativeHouse.nome = root.attrib.get("nome") legislativeHouse.esfera = root.attrib.get("esfera") legislativeHouse.local = root.attrib.get("local") legislativeHouse.atualizacao = root.attrib.get("atualizacao") legislativeHouse.save() for child_proposition in root.iter("Proposicao"): proposition = models.Proposicao() proposition.casa_legislativa = legislativeHouse proposition.id_prop = child_proposition.attrib.get("id_prop") proposition.sigla = child_proposition.attrib.get("sigla") proposition.numero = child_proposition.attrib.get("numero") proposition.ano = child_proposition.attrib.get("ano") proposition.ementa = child_proposition.attrib.get("ementa") proposition.descricao = child_proposition.attrib.get("descricao") proposition.indexacao = child_proposition.attrib.get("indexacao") if (child_proposition.attrib.get("data_apresentacao") == "None"): # Default value if the date comes in white proposition.data_apresentacao = "1900-01-01" proposition.save() else: proposition.data_apresentacao = child_proposition.attrib.get( "data_apresentacao") proposition.save() # Get the daughter of the subtree being traversed. for child_voting in child_proposition.findall("Votacao"): voting = models.Votacao() voting.proposicao = proposition voting.id_votacao = child_voting.attrib.get("id_votacao") voting.id_vot = child_voting.attrib.get("id_vot") voting.descricao = child_voting.attrib.get("descricao") voting.data = child_voting.attrib.get("data") voting.resultado = child_voting.attrib.get("resultado") voting.save() for child_vote in child_voting.findall("Voto"): party = models.Partido() party.numero = child_vote.attrib.get("numero") party.nome = child_vote.attrib.get( "search_political_party") partido_existente = models.Partido.objects.filter( numero=party.numero, nome=party.nome) if len(partido_existente) > 0: party = partido_existente[0] else: party.save() parliamentarian = models.Parlamentar() parliamentarian.nome = child_vote.attrib.get("nome") parliamentarian.id_parlamentar = child_vote.attrib.get( "id_parlamentar") parliamentarian.genero = child_vote.attrib.get("genero") existing_parliamentarian = models.Parlamentar.objects.filter( nome=parliamentarian.nome, id_parlamentar=parliamentarian.id_parlamentar, genero=parliamentarian.genero) if len(existing_parliamentarian) > 0: parliamentarian = existing_parliamentarian[0] else: parliamentarian.save() legislature = models.Legislatura() legislature.partido = party legislature.parlamentar = parliamentarian legislature.casa_legislativa = legislativeHouse legislature.inicio = child_vote.attrib.get("inicio") legislature.fim = child_vote.attrib.get("fim") legislature.localidade = child_vote.attrib.get( "localidade") if legislature.localidade is None: legislature.localidade = "" else: legislature.localidade = "" + legislature.localidade existing_legislature = models.Legislatura.objects.filter( party=legislature.partido, parliamentarian=legislature.parlamentar, legislative_house=legislature.casa_legislativa, init=legislature.inicio, fim=legislature.fim) if len(existing_legislature) > 0: legislature = existing_legislature[0] else: legislature.save() vote = models.Voto() vote.votacao = voting vote.legislatura = legislature vote.opcao = child_vote.attrib.get("opcao") vote.save()
def setUpClass(cls): #Criando dados ficticios no mock partidoTest1 = models.Partido(nome='PMDB', numero='40') partidoTest2 = models.Partido(nome='PT', numero='13') partidoTest3 = models.Partido(nome='PSDB', numero='23') partidoTest1.save() partidoTest2.save() partidoTest3.save() parlamentarTest1 = models.Parlamentar(id_parlamentar='', nome='Ivandro Cunha Lima', genero='') parlamentarTest2 = models.Parlamentar(id_parlamentar='', nome='Fernando Ferro', genero='') parlamentarTest3 = models.Parlamentar(id_parlamentar='', nome='Humberto Costa', genero='') parlamentarTest1.save() parlamentarTest2.save() parlamentarTest3.save() casa_legislativaTest1 = models.CasaLegislativa( nome='Camara dos Deputados', nome_curto='cdep', esfera='FEDERAL', local='', atualizacao='2012-06-01') casa_legislativaTest2 = models.CasaLegislativa( nome='Camara Municipal de Sao Paulo', nome_curto='cmsp', esfera='MUNICIPAL', local='Sao Paulo - SP', atualizacao='2012-12-31') casa_legislativaTest1.save() casa_legislativaTest2.save() legislaturaTest1 = models.Legislatura( parlamentar=parlamentarTest1, casa_legislativa=casa_legislativaTest1, inicio='2004-01-01', fim='2012-07-01', partido=partidoTest1, localidade='PB') legislaturaTest1.save() proposicaoTest1 = models.Proposicao() proposicaoTest1.id_prop = '5555' proposicaoTest1.sigla = 'PL' proposicaoTest1.numero = '4520' proposicaoTest1.casa_legislativa = casa_legislativaTest1 proposicaoTest1.save() votacaoTest1 = models.Votacao(id_vot=' 12345', descricao='Teste da votacao', data='1900-12-05', resultado='Teste', proposicao=proposicaoTest1) votacaoTest1.save() votoTest1 = models.Voto(votacao=votacaoTest1, legislatura=legislaturaTest1, opcao='TESTE') votoTest1.save() #Exportando dados do mock para os xml exportar.serialize_partido() exportar.serialize_parlamentar() exportar.serialize_casa_legislativa() exportar.serialize_legislatura() exportar.serialize_proposicao() exportar.serialize_votacao() exportar.serialize_voto() #Deletando os registros do mock partidoTest1.delete() partidoTest2.delete() partidoTest3.delete() parlamentarTest1.delete() parlamentarTest2.delete() parlamentarTest3.delete() casa_legislativaTest1.delete() casa_legislativaTest2.delete() legislaturaTest1.delete() proposicaoTest1.delete() votacaoTest1.delete() votoTest1.delete()