Exemple #1
0
    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()
Exemple #2
0
    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()
Exemple #3
0
    def _cria_legislatura(self, voto_parlamentar_tree, votacao):

        nome = voto_parlamentar_tree.find('NomeParlamentar').text
        codigo = voto_parlamentar_tree.find('CodigoParlamentar').text
        sexo = voto_parlamentar_tree.find('SexoParlamentar').text

        if models.Parlamentar.objects.filter(nome=nome,
                                             id_parlamentar=codigo).exists():
            senador = models.Parlamentar.objects.get(nome=nome,
                                                     id_parlamentar=codigo)
        else:
            senador = models.Parlamentar()
            senador.id_parlamentar = codigo
            senador.nome = nome
            senador.genero = sexo
            senador.save()

        leg = models.Legislatura()
        leg.parlamentar = senador
        leg.casa_legislativa = self.senado
        ini, fim = self._periodo_arbitrario(votacao.data)
        leg.inicio = ini
        leg.fim = fim
        sigla_partido = voto_parlamentar_tree.find('SiglaPartido').text
        leg.partido = self._find_partido(sigla_partido)
        leg.localidade = voto_parlamentar_tree.find('SiglaUF').text
        leg.save()
        return leg
 def preencher_banco(casa):
     partido = models.Partido(nome="PTest", numero="1")
     partido.save()
     parlamentar = models.Parlamentar(id_parlamentar="1",
                                      nome="Teste_vereador",
                                      partido=partido,
                                      casa_legislativa=casa)
     parlamentar.save()
Exemple #5
0
 def _gera_parlamentares(self):
     # nome partido => lista de parlamentares do partido
     self.parlamentares = {}
     for partido in self.partidos:
         self.parlamentares[partido.nome] = []
         for i in range(0, PARLAMENTARES_POR_PARTIDO):
             parlamentar = models.Parlamentar()
             parlamentar.id_parlamentar = '%s%s' % (partido.nome[0], str(i))
             parlamentar.nome = 'Pierre'
             parlamentar.casa_legislativa = self.casa
             parlamentar.partido = partido
             parlamentar.save()
             self.parlamentares[partido.nome].append(parlamentar)
Exemple #6
0
    def processa_legislatura(self, leg_tree):

        parlamentares_tree = leg_tree.find('Parlamentar').find('Parlamentares')
        for parlamentar_tree in parlamentares_tree:
            codigo = parlamentar_tree.find('CodigoParlamentar').text
            nome = parlamentar_tree.find('NomeParlamentar').text
            uf = parlamentar_tree.find('SiglaUF').text
            partidos_tree = parlamentar_tree.find('Partidos')
            if partidos_tree is not None:
                nome_partido = self._find_nome_partido(partidos_tree)
            else:
                logger.warn('Senador %s não possui lista de partidos!' % nome)
                nome_partido = None
            ano_inicio = parlamentar_tree.find('AnoInicio').text
            ano_fim = parlamentar_tree.find('AnoFim').text

            if nome_partido == 'PC DO B':
                nome_partido = 'PCdoB'
            inicio_legislatura = self._converte_data2('01/01/%s' % ano_inicio)
            fim_legislatura = self._converte_data2('31/12/%s' % ano_fim)
            partido = self._find_partido(nome_partido)

            if not models.Legislatura.objects.filter(inicio=inicio_legislatura,
                                                     fim=fim_legislatura,
                                                     parlamentar__nome=nome,
                                                     partido__nome=nome_partido
                                                     ).exists():
                logger.info('Importando senador %s (%s-%s)' %
                            (nome, nome_partido, uf))

                if models.Parlamentar.objects.filter(nome=nome,
                                                     id_parlamentar=codigo
                                                     ).exists():
                    senador = models.Parlamentar.objects.get(
                        nome=nome, id_parlamentar=codigo)
                else:
                    senador = models.Parlamentar()
                    senador.id_parlamentar = codigo
                    senador.nome = nome
                    senador.save()

                leg = models.Legislatura()
                leg.parlamentar = senador
                leg.casa_legislativa = self.senado
                leg.inicio = inicio_legislatura
                leg.fim = fim_legislatura
                leg.partido = partido
                leg.localidade = uf
                leg.save()
 def votante(self, ver_tree):
     id_parlamentar = ver_tree.get('IDParlamentar')
     if self.parlamentares.has_key(id_parlamentar):
         votante = self.parlamentares[id_parlamentar]
     else:
         votante = models.Parlamentar()
         votante.save()
         votante.id_parlamentar = id_parlamentar
         votante.nome = ver_tree.get('NomeParlamentar')
         votante.save()
         if self.verbose:
             print 'Vereador %s salvo' % votante
         self.parlamentares[id_parlamentar] = votante
         #TODO genero
     return votante
    def _votante(self, nome_dep, nome_partido):
        """Procura primeiro no cache e depois no banco; se não existir, cria novo parlamentar"""
        key = '%s-%s' % (nome_dep, nome_partido)
        parlamentar = self.parlamentares.get(key)
        if not parlamentar:
            parlamentares = models.Parlamentar.objects.filter(nome=nome_dep)
            if parlamentares:
                parlamentar = parlamentares[0]
                self.parlamentares[key] = parlamentar

        if not parlamentar:
            parlamentar = models.Parlamentar()
            parlamentar.nome = nome_dep
            parlamentar.save()
            self.parlamentares[key] = parlamentar
        return parlamentar
    def create_legislature(self, voto_parlamentar_tree, votacao):

        # Receive the parliamentary's name from 'voto_parlamentar_tree'.
        name_parliamentary = voto_parlamentar_tree.find_legislature(
            'NomeParlamentar').text

        # Receive parliamentary's code from 'voto_parlamentar_tree'.
        code_parliamentary = voto_parlamentar_tree.find_legislature(
            'CodigoParlamentar').text

        # Receive parliamentary's gender from 'voto_parlamentar_tree'.
        gender_parliamentary = voto_parlamentar_tree.find_legislature(
            'SexoParlamentar').text

        if models.Parlamentar.objects.filter(
                nome=name_parliamentary,
                id_parlamentar=code_parliamentary).exists():
            # Receive name and code from 'Parlamentar' from 'models'.
            senator = models.Parlamentar.objects.get(
                nome=name_parliamentary, id_parlamentar=code_parliamentary)
        else:

            # Receive 'Parlamentar' from models.
            senator = models.Parlamentar()

            senator.id_parlamentar = code_parliamentary
            senator.nome = name_parliamentary
            senator.genero = gender_parliamentary
            senator.save()

        # Receive 'Legislatura' from models.
        legislature = models.Legislatura()

        legislature.parlamentar = senator
        legislature.casa_legislativa = self.senado
        begin, end = self.assign_random_period(votacao.data)
        legislature.inicio = begin
        legislature.fim = end
        sigla_partido = voto_parlamentar_tree.find_legislature(
            'SiglaPartido').text
        legislature.partido = self.find_political_party(sigla_partido)
        legislature.localidade = voto_parlamentar_tree.find_legislature(
            'SiglaUF').text
        legislature.save()
        return legislature
Exemple #10
0
 def vereador(self, ver_tree):
     nome_vereador = ver_tree.get('Nome')
     partido = self.partido(ver_tree)
     key = (nome_vereador, partido.nome)
     if key in self.parlamentares:
         vereador = self.parlamentares[key]
     else:
         id_parlamentar = ver_tree.get('IDParlamentar')
         vereador = models.Parlamentar()
         vereador.id_parlamentar = id_parlamentar
         vereador.nome = nome_vereador
         vereador.partido = partido
         vereador.casa_legislativa = self.cmsp
         vereador.save()
         if self.verbose:
             logger.info('Vereador %s salvo' % vereador)
         self.parlamentares[key] = vereador
     return vereador
Exemple #11
0
    def _votante(self, deputy_name, party_name):
        """Search the cache first and then in the database; if not, creates new parliamentary."""

        key = '%s-%s' % (deputy_name, party_name)
        parliamentarian = self.parlamentares.get(key)

        if not parliamentarian:
            parliamentarians = models.Parlamentar.objects.filter(nome=deputy_name)
            if parliamentarians:
                parliamentarian = parliamentarians[0]
                self.parlamentares[key] = parliamentarian

        if not parliamentarian:
            parliamentarian = models.Parlamentar()
            parliamentarian.nome = deputy_name
            parliamentarian.save()
            self.parlamentares[key] = parliamentarian
        return parliamentarian
Exemple #12
0
    def _votante(self, nome_dep, nome_partido):
        """Procura primeiro no cache e depois no banco; se não existir, cria novo parlamentar"""
        key = '%s-%s' % (nome_dep, nome_partido)
        parlamentar = self.parlamentares.get(key)
        if not parlamentar:
            parlamentares = models.Parlamentar.objects.filter(nome=nome_dep)
            if parlamentares:
                parlamentar = parlamentares[0]
                self.parlamentares[key] = parlamentar

        if not parlamentar:
            parlamentar = models.Parlamentar()
            parlamentar.nome = nome_dep
            #votante.id_parlamentar =
            #votante.genero =
            parlamentar.save()
            self.parlamentares[key] = parlamentar
            #logger.debug('Deputado %s salvo' % parlamentar)
        return parlamentar
Exemple #13
0
 def _gera_legislaturas(self):
     self.legs = {} # nome partido => lista de legislaturas do partido
     for p in self.partidos:
         self.legs[p.nome] = []
         for i in range(0, PARLAMENTARES_POR_PARTIDO):
             
             parlamentar = models.Parlamentar()
             parlamentar.id_parlamentar = '%s%s' % (p.nome[0], str(i))
             parlamentar.nome = 'Pierre'
             parlamentar.save()
             
             leg = models.Legislatura()
             leg.casa_legislativa = self.casa
             leg.inicio = INICIO_PERIODO
             leg.fim = FIM_PERIODO
             leg.partido = p
             leg.parlamentar = parlamentar
             leg.save()
             self.legs[p.nome].append(leg)
Exemple #14
0
    def _new_legislature(self):

        # Name search_political_party => list of party legislaturas
        self.legs = {}
        for p in self.partidos:
            self.legs[p.nome] = []
            for i in range(0, PARLAMENTS_PER_PARTY):

                parlamentar = models.Parlamentar()
                parlamentar.id_parlamentar = '%s%s' % (p.nome[0], str(i))
                parlamentar.nome = 'Pierre'
                parlamentar.save()

                leg = models.Legislatura()
                leg.casa_legislativa = self.casa
                leg.inicio = BEGIN_PERIOD
                leg.fim = END_PERIOD
                leg.partido = p
                leg.parlamentar = parlamentar
                leg.save()
                self.legs[p.nome].append(leg)
    def list_parliamentary(self, ver_tree):

        # Store 'IDParlamentar' coming from 'ver_tree'
        parliamentary_id = ver_tree.get('IDParlamentar')

        if parliamentary_id in self.parlamentares:

            # Receives the parliamentary list with their IDs.
            voter = self.parlamentares[parliamentary_id]

        else:
            voter = models.Parlamentar()
            voter.save()
            voter.id_parlamentar = parliamentary_id
            voter.nome = ver_tree.get('NomeParlamentar')
            voter.save()
            if self.verbose:
                print 'Vereador %s salvo' % voter
            self.parlamentares[parliamentary_id] = voter
            # TODO gender
        return voter
 def _find_parlamentar(self, voto_parlamentar_tree):
     nome_senador = voto_parlamentar_tree.find('NomeParlamentar').text
     nome_partido = voto_parlamentar_tree.find('SiglaPartido').text
     localidade = voto_parlamentar_tree.find('SiglaUF').text
     partido = self._find_partido(nome_partido)
     key = (nome_senador, partido.nome, localidade)
     if key in self.parlamentares:
         senador = self.parlamentares[key]
     else:
         codigo = voto_parlamentar_tree.find('CodigoParlamentar').text
         sexo = voto_parlamentar_tree.find('SexoParlamentar').text
         senador = models.Parlamentar()
         senador.id_parlamentar = codigo
         senador.nome = nome_senador
         senador.genero = sexo
         senador.casa_legislativa = self.senado
         senador.partido = partido
         senador.localidade = localidade
         senador.save()
         self.parlamentares[key] = senador
         self.progresso()
     return senador
Exemple #17
0
 def _deputado(self, voto_xml):
     """Procura primeiro no cache e depois no banco; se não existir,
     cria novo parlamentar"""
     nome = voto_xml.get('Nome')
     nome_partido = voto_xml.get('Partido')
     partido = self._partido(nome_partido)
     localidade = voto_xml.get('UF')
     key = (nome, partido.nome, localidade)
     parlamentar = self.parlamentares.get(key)
     if not parlamentar:
         parlamentar = models.Parlamentar()
         parlamentar.id_parlamentar = voto_xml.get('ideCadastro')
         parlamentar.nome = nome
         parlamentar.partido = partido
         parlamentar.localidade = localidade
         parlamentar.casa_legislativa = self.camara_dos_deputados
         parlamentar.save()
         if partido.numero == 0:
             logger.warn('Não achou o partido %s' % nome_partido)
             logger.info('Deputado %s inserido sem partido' % nome)
         self.parlamentares[key] = parlamentar
     return parlamentar
    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 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()
Exemple #20
0
    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 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 process_legislature(self, leg_tree):

        parliamentaries_tree = leg_tree.find_legislature(
            'Parlamentar').find_legislature('Parlamentares')
        for parlamentar_tree in parliamentaries_tree:

            # Receive parliamentary's code.
            parliamentary_code = parlamentar_tree.find_legislature(
                'CodigoParlamentar').text

            # Receive parliamentary's name.
            parliamentary_name = parlamentar_tree.find_legislature(
                'NomeParlamentar').text

            # Receive parliamentary's UF.
            parliamentary_uf = parlamentar_tree.find_legislature(
                'SiglaUF').text

            # Receive 'Partidos' from 'parlamentar_tree'.
            political_parties_tree = parlamentar_tree.find_legislature(
                'Partidos')

            if political_parties_tree is not None:
                political_party_name = self.find_political_party_by_name(
                    political_parties_tree)
            else:
                logger.warn('Senador %s não possui lista de partidos!' %
                            parliamentary_name)
                political_party_name = None
            initial_year_of_legislature = parlamentar_tree.find_legislature(
                'AnoInicio').text
            final_year_of_legislature = parlamentar_tree.find_legislature(
                'AnoFim').text

            if political_party_name == 'PC DO B':
                political_party_name = 'PCdoB'
            date_of_inicial_legislature = self.convert_string_to_object(
                '01/01/%s' % initial_year_of_legislature)
            date_of_final_legislature = self.convert_string_to_object(
                '31/12/%s' % final_year_of_legislature)
            political_party = self.find_political_party(political_party_name)

            if not models.Legislatura.objects.filter(
                    inicio=date_of_inicial_legislature,
                    fim=date_of_final_legislature,
                    parlamentar__nome=parliamentary_name,
                    partido__nome=political_party_name).exists():
                logger.info('Importando senador %s (%s-%s)' %
                            (parliamentary_name, political_party_name,
                             parliamentary_uf))

                if models.Parlamentar.objects.filter(
                        nome=parliamentary_name,
                        id_parlamentar=parliamentary_code).exists():
                    senator = models.Parlamentar.objects.get(
                        nome=parliamentary_name,
                        id_parlamentar=parliamentary_code)
                else:
                    senator = models.Parlamentar()
                    senator.id_parlamentar = parliamentary_code
                    senator.nome = parliamentary_name
                    senator.save()

                legislature = models.Legislatura()
                legislature.parlamentar = senator
                legislature.casa_legislativa = self.senado
                legislature.inicio = date_of_inicial_legislature
                legislature.fim = date_of_final_legislature
                legislature.partido = political_party
                legislature.localidade = parliamentary_uf
                legislature.save()
Exemple #23
0
    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()