Exemple #1
0
def obter_candidato(numero, estado, cargo, cargo_nome):
    if not "X" in numero and int(numero) > 0:
        return Candidato.obtem_do_numero(numero, estado, cargo)
    elif "X" in numero:
        return {
            "cargo": {
                "nome": cargo_nome,
                "codigo": cargo
            },
            "nome": "Voto Nulo",
            "primeiro_nome": "Voto",
            "segundo_nome": "Nulo",
            "numero_partido": numero[:2],
            "numero_sem_partido": numero[2:],
            "numero": numero,
            "partido": {
                "sigla": "NULO"
            }
        }
    return {
        "cargo": {
            "nome": cargo_nome,
            "codigo": cargo
        },
        "nome": "Voto em Branco",
        "primeiro_nome": "Voto em",
        "segundo_nome": "Branco",
        "numero_partido": numero[:2],
        "numero_sem_partido": numero[2:],
        "numero": numero,
        "partido": {
            "sigla": "BRANCO"
        }
    }
Exemple #2
0
 def grava_fotos_todos(self):
     self.stdout.write(u"INICIANDO")
     for estado in ESTADOS:
         self.stdout.write(u"ESTADO: {}".format(estado[1]))
         for cargo in range(1, 9):
             if estado[0] == 'BR' and cargo > 2:
                 continue
             if estado[0] != 'BR' and cargo <= 2:
                 continue
             if estado[0] == "DF" and cargo == 7:
                 continue
             if estado[0] != "DF" and cargo == 8:
                 continue
             cargo_nome = Cargo.objects.get(id=cargo).nome
             self.stdout.write(u"CARGO: {}".format(cargo_nome))
             url_lista_candidatos = "http://divulgacand2014.tse.jus.br/divulga-cand-2014/eleicao/2014/UF/{}/candidatos/cargo/{}".format(
                 estado[0], cargo)
             self.stdout.write(
                 u"OBTENDO PÁGINA: {}".format(url_lista_candidatos))
             conteudo_imagem = requests.get(
                 url_lista_candidatos).content.decode('ISO-8859-1')
             pagina = lhtml.fromstring(conteudo_imagem)
             lista_candidatos = pagina.cssselect('.row-link-cand')
             quantidade_candidatos = len(lista_candidatos)
             encontrados = 0
             atualizados = 0
             for linha in lista_candidatos:
                 numero_canditado = int(linha.cssselect('td')[2].text)
                 # self.stdout.write(u"BUSCANDO CANDIDATO NO ESTADO {} DO CARGO {} COM O NÚMERO {}".format(estado[0], cargo, numero_canditado))
                 candidato = Candidato.obtem_do_numero(
                     numero_canditado, estado[0], cargo)
                 if candidato:
                     encontrados += 1
                     # self.stdout.write(u"ENCONTRADO {} \r".format(candidato))
                 if candidato and not candidato.codigo_foto:
                     atualizados += 1
                     self.stdout.write(
                         u"ATUALIZANDO FOTO DO CANDIDATO {}".format(
                             candidato))
                     candidato.codigo_foto = linha.attrib['id']
                     candidato.save()
             self.stdout.write(
                 u"FINALIZADO: TOTAL NA PÁGINA: {}; ENCONTRADOS: {}; ATUALIZADOS: {}"
                 .format(quantidade_candidatos, encontrados, atualizados))
Exemple #3
0
def obter_candidato(numero, estado, cargo, cargo_nome):
    if not "X" in numero and int(numero) > 0:
        return Candidato.obtem_do_numero(numero, estado, cargo)
    elif "X" in numero:
        return {
            "cargo": {"nome": cargo_nome, "codigo": cargo},
            "nome": "Voto Nulo",
            "primeiro_nome": "Voto",
            "segundo_nome": "Nulo",
            "numero_partido": numero[:2],
            "numero_sem_partido": numero[2:],
            "numero": numero,
            "partido": {"sigla": "NULO"}
        }
    return {
        "cargo": {"nome": cargo_nome, "codigo": cargo},
        "nome": "Voto em Branco",
        "primeiro_nome": "Voto em",
        "segundo_nome": "Branco",
        "numero_partido": numero[:2],
        "numero_sem_partido": numero[2:],
        "numero": numero,
        "partido": {"sigla": "BRANCO"}
    }
 def grava_fotos_todos(self):
     self.stdout.write(u"INICIANDO")
     for estado in ESTADOS:
         self.stdout.write(u"ESTADO: {}".format(estado[1]))
         for cargo in range(1, 9):
             if estado[0] == 'BR' and cargo > 2:
                 continue
             if estado[0] != 'BR' and cargo <= 2:
                 continue
             if estado[0] == "DF" and cargo == 7:
                 continue
             if estado[0] != "DF" and cargo == 8:
                 continue
             cargo_nome = Cargo.objects.get(id=cargo).nome
             self.stdout.write(u"CARGO: {}".format(cargo_nome))
             url_lista_candidatos = "http://divulgacand2014.tse.jus.br/divulga-cand-2014/eleicao/2014/UF/{}/candidatos/cargo/{}".format(estado[0], cargo)
             self.stdout.write(u"OBTENDO PÁGINA: {}".format(url_lista_candidatos))
             conteudo_imagem = requests.get(url_lista_candidatos).content.decode('ISO-8859-1')
             pagina = lhtml.fromstring(conteudo_imagem)
             lista_candidatos = pagina.cssselect('.row-link-cand')
             quantidade_candidatos = len(lista_candidatos)
             encontrados = 0
             atualizados = 0
             for linha in lista_candidatos:
                 numero_canditado = int(linha.cssselect('td')[2].text)
                 # self.stdout.write(u"BUSCANDO CANDIDATO NO ESTADO {} DO CARGO {} COM O NÚMERO {}".format(estado[0], cargo, numero_canditado))
                 candidato = Candidato.obtem_do_numero(numero_canditado, estado[0], cargo)
                 if candidato:
                     encontrados += 1
                     # self.stdout.write(u"ENCONTRADO {} \r".format(candidato))
                 if candidato and not candidato.codigo_foto:
                     atualizados += 1
                     self.stdout.write(u"ATUALIZANDO FOTO DO CANDIDATO {}".format(candidato))
                     candidato.codigo_foto = linha.attrib['id']
                     candidato.save()
             self.stdout.write(u"FINALIZADO: TOTAL NA PÁGINA: {}; ENCONTRADOS: {}; ATUALIZADOS: {}".format(quantidade_candidatos, encontrados, atualizados))