Esempio n. 1
0
def santinho_escolher_candidatos(request, estado):
    eh_segundo_turno = settings.EH_SEGUNDO_TURNO
    cargos = [
        {"nome": "Presidente", "candidatos": Candidato.obter_lista_por_cargo(1, 'BR', eh_segundo_turno), "nulo": "XX", "branco": "00"},
    ]
    governadores = {"nome": "Governador", "candidatos": Candidato.obter_lista_por_cargo(3, estado, eh_segundo_turno), "nulo": "XX", "branco": "00"}
    cargos.append(governadores)
    estado_tem_segundo_turno = len(governadores["candidatos"]) > 0
    deputado_nome = "Deputado Estadual"
    deputado_slug = "deputado-estadual"
    deputado_cargo = 7
    if not eh_segundo_turno:
        cargos.append({"nome": "Senador", "candidatos": Candidato.obter_lista_por_cargo(5, estado), "nulo": "XXX", "branco": "000"})
        cargos.append({"nome": "Deputado Federal", "candidatos": Candidato.obter_lista_por_cargo(6, estado), "nulo": "XXXX", "branco": "0000"})
        if estado == "DF":
            deputado_cargo = 8
            deputado_slug = "deputado-distrital"
            deputado_nome = "Deputado Distrital"
        cargos.append({"nome": deputado_nome, "candidatos": Candidato.obter_lista_por_cargo(deputado_cargo, estado), "nulo": "XXXXX", "branco": "00000"})
    nome_estado = nome_do_estado(estado)
    if request.method == "POST":
        selecionados = {
            "presidente": request.POST.get("candidato_1", None),
            "governador": request.POST.get("candidato_3", None),
        }
        if eh_segundo_turno:
            selecionados["senador"] = request.POST.get("candidato_5", None)
            selecionados["deputado-federal"] = request.POST.get("candidato_6", None)
            selecionados[deputado_slug] = request.POST.get("candidato_{}".format(deputado_cargo), None)
    return render_to_response('escolher_candidatos.html', locals(), context_instance=RequestContext(request))
Esempio n. 2
0
def resultado_escolher_candidatos(request, estado):
    cargos = [
        {"nome": "Presidente", "candidatos": Candidato.obter_lista_por_cargo(1, 'BR'), "nulo": "XX", "branco": "00"},
        {"nome": "Governador", "candidatos": Candidato.obter_lista_por_cargo(3, estado), "nulo": "XX", "branco": "00"},
        {"nome": "Senador", "candidatos": Candidato.obter_lista_por_cargo(5, estado), "nulo": "XXX", "branco": "000"},
        {"nome": "Deputado Federal", "candidatos": Candidato.obter_lista_por_cargo(6, estado), "nulo": "XXXX", "branco": "0000"}
    ]
    deputado_nome = "Deputado Estadual"
    deputado_slug = "deputado-estadual"
    deputado_cargo = 7
    if estado == "DF":
        deputado_cargo = 8
        deputado_slug = "deputado-distrital"
        deputado_nome = "Deputado Distrital"
    cargos.append({"nome": deputado_nome, "candidatos": Candidato.obter_lista_por_cargo(deputado_cargo, estado), "nulo": "XXXXX", "branco": "00000"})
    nome_estado = nome_do_estado(estado)
    if request.method == "POST":
        selecionados = {
            "presidente": request.POST.get("candidato_1", None),
            "governador": request.POST.get("candidato_3", None),
            "senador": request.POST.get("candidato_5", None),
            "deputado-federal": request.POST.get("candidato_6", None),
            deputado_slug: request.POST.get("candidato_{}".format(deputado_cargo), None)
        }
    eh_resultado = True
    return render_to_response('resultado_candidatos.html', locals(), context_instance=RequestContext(request))
Esempio n. 3
0
 def importar_candidatos(self, resultado):
     self.stdout.write(u"INICIANDO")
     for estado in ESTADOS:
         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
             url = "http://divulgacand2014.tse.jus.br/divulga-cand-2014/eleicao/2014/UF/{}/candidatos/cargo/{}/downloadCSV".format(
                 estado[0], cargo)
             self.stdout.write(u"OBTENDO CSV: {}".format(url))
             csv = requests.get(url).content.decode('ISO-8859-1')
             linhas = csv.split("\n")[1:]
             candidatos = 0
             indice_deferido = (6 if resultado else 5)
             for linha in linhas:
                 if not linha:
                     continue
                 if "Deferido" in linha.split(";")[indice_deferido]:
                     Candidato.obtem_a_partir_de_linha_do_csv(
                         linha,
                         cargo,
                         estado[0],
                         printer=self.stdout.write,
                         resultado=resultado)
                     candidatos += 1
             self.stdout.write(
                 u"{} EM {}: {} CANDIDATOS PROCESSADOS".format(
                     Cargo.objects.get(id=cargo).nome, estado[0],
                     candidatos))
Esempio n. 4
0
 def importar_candidatos(self, resultado):
     self.stdout.write(u"INICIANDO")
     for estado in ESTADOS:
         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
             url = "http://divulgacand2014.tse.jus.br/divulga-cand-2014/eleicao/2014/UF/{}/candidatos/cargo/{}/downloadCSV".format(estado[0], cargo)
             self.stdout.write(u"OBTENDO CSV: {}".format(url))
             csv = requests.get(url).content.decode('ISO-8859-1')
             linhas = csv.split("\n")[1:]
             candidatos = 0
             indice_deferido = (6 if resultado else 5)
             for linha in linhas:
                 if not linha:
                     continue
                 if "Deferido" in linha.split(";")[indice_deferido]:
                     Candidato.obtem_a_partir_de_linha_do_csv(linha, cargo, estado[0], printer=self.stdout.write, resultado=resultado)
                     candidatos += 1
             self.stdout.write(u"{} EM {}: {} CANDIDATOS PROCESSADOS".format(Cargo.objects.get(id=cargo).nome, estado[0], candidatos))
Esempio n. 5
0
def resultado_escolher_candidatos(request, estado):
    cargos = [{
        "nome": "Presidente",
        "candidatos": Candidato.obter_lista_por_cargo(1, 'BR'),
        "nulo": "XX",
        "branco": "00"
    }, {
        "nome": "Governador",
        "candidatos": Candidato.obter_lista_por_cargo(3, estado),
        "nulo": "XX",
        "branco": "00"
    }, {
        "nome": "Senador",
        "candidatos": Candidato.obter_lista_por_cargo(5, estado),
        "nulo": "XXX",
        "branco": "000"
    }, {
        "nome": "Deputado Federal",
        "candidatos": Candidato.obter_lista_por_cargo(6, estado),
        "nulo": "XXXX",
        "branco": "0000"
    }]
    deputado_nome = "Deputado Estadual"
    deputado_slug = "deputado-estadual"
    deputado_cargo = 7
    if estado == "DF":
        deputado_cargo = 8
        deputado_slug = "deputado-distrital"
        deputado_nome = "Deputado Distrital"
    cargos.append({
        "nome":
        deputado_nome,
        "candidatos":
        Candidato.obter_lista_por_cargo(deputado_cargo, estado),
        "nulo":
        "XXXXX",
        "branco":
        "00000"
    })
    nome_estado = nome_do_estado(estado)
    if request.method == "POST":
        selecionados = {
            "presidente":
            request.POST.get("candidato_1", None),
            "governador":
            request.POST.get("candidato_3", None),
            "senador":
            request.POST.get("candidato_5", None),
            "deputado-federal":
            request.POST.get("candidato_6", None),
            deputado_slug:
            request.POST.get("candidato_{}".format(deputado_cargo), None)
        }
    eh_resultado = True
    return render_to_response('resultado_candidatos.html',
                              locals(),
                              context_instance=RequestContext(request))
Esempio n. 6
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"
        }
    }
Esempio n. 7
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))
Esempio n. 8
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"}
    }
Esempio n. 9
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))
Esempio n. 10
0
def santinho_escolher_candidatos(request, estado):
    eh_segundo_turno = settings.EH_SEGUNDO_TURNO
    cargos = [
        {
            "nome":
            "Presidente",
            "candidatos":
            Candidato.obter_lista_por_cargo(1, 'BR', eh_segundo_turno),
            "nulo":
            "XX",
            "branco":
            "00"
        },
    ]
    governadores = {
        "nome": "Governador",
        "candidatos": Candidato.obter_lista_por_cargo(3, estado,
                                                      eh_segundo_turno),
        "nulo": "XX",
        "branco": "00"
    }
    cargos.append(governadores)
    estado_tem_segundo_turno = len(governadores["candidatos"]) > 0
    deputado_nome = "Deputado Estadual"
    deputado_slug = "deputado-estadual"
    deputado_cargo = 7
    if not eh_segundo_turno:
        cargos.append({
            "nome": "Senador",
            "candidatos": Candidato.obter_lista_por_cargo(5, estado),
            "nulo": "XXX",
            "branco": "000"
        })
        cargos.append({
            "nome": "Deputado Federal",
            "candidatos": Candidato.obter_lista_por_cargo(6, estado),
            "nulo": "XXXX",
            "branco": "0000"
        })
        if estado == "DF":
            deputado_cargo = 8
            deputado_slug = "deputado-distrital"
            deputado_nome = "Deputado Distrital"
        cargos.append({
            "nome":
            deputado_nome,
            "candidatos":
            Candidato.obter_lista_por_cargo(deputado_cargo, estado),
            "nulo":
            "XXXXX",
            "branco":
            "00000"
        })
    nome_estado = nome_do_estado(estado)
    if request.method == "POST":
        selecionados = {
            "presidente": request.POST.get("candidato_1", None),
            "governador": request.POST.get("candidato_3", None),
        }
        if eh_segundo_turno:
            selecionados["senador"] = request.POST.get("candidato_5", None)
            selecionados["deputado-federal"] = request.POST.get(
                "candidato_6", None)
            selecionados[deputado_slug] = request.POST.get(
                "candidato_{}".format(deputado_cargo), None)
    return render_to_response('escolher_candidatos.html',
                              locals(),
                              context_instance=RequestContext(request))