예제 #1
0
파일: main.py 프로젝트: Marxneves/Metrica3
def deputados():

    colors = [
        "#0351EC", "#BF3FA9", "#FDB45C", "#FEDCBA", "#ABCDEF", "#DDDDDD",
        "#ABCABC", "#4169E1", "#C71585", "#FF4500", "#FEDCBA", "#46BFBD"
    ]

    obj = DadosAbertos()
    list_dep = obj.deputados()
    info = obj.deputado_id(id)

    sexos = {}
    cont = 1
    for dep in list_dep:
        info = obj.deputado_id(dep['id'])
        sexo = info['sexo']
        if sexo in sexos:
            sexos[sexo] += 1
        #  if cont == 20:
        #   break
        else:
            sexos[sexo] = 1
    # cont += 1
    print(sexos)

    labels = sexos.keys()
    values = sexos.values()

    return render_template('index.html',
                           title='Quantidade de deputados Homens x Mulheres',
                           max=400,
                           set=zip(values, labels, colors))
예제 #2
0
def coleta():

    # hostname do mongodb, consultado via variavel de ambiente
    server_mongo = 'mongodb'

    # Conexao ao mongoDB
    conn = MongoClient(server_mongo, 27017)

    # Conexao ao database
    banco = conn['projetoDep']

    # Conexao a tabela de banco de dados
    table = banco['deputados']

    # Array que vai receber os dados do deputados
    list_deputados = []

    #Conexao com api dos dados publicos
    obj = DadosAbertos()

    # Listando os deputados
    list_dep = obj.deputados()

    for dep in list_dep:
        info = {
            '_id': dep['id'],
            'Nome': dep['nome'],
            'Partido': dep['siglaPartido'],
            'Foto': dep['urlFoto'],
            'Estado': dep['siglaUf']
        }
        list_deputados.append(info)

    # Inserindo dados no mongodb
    retorno = table.insert_many(list_deputados)
예제 #3
0
def deputados():

    colors = [
        "#F7464A", "#46BFBD", "#FDB45C", "#FEDCBA", "#ABCDEF", "#DDDDDD",
        "#ABCABC", "#4169E1", "#C71585", "#FF4500", "#FEDCBA", "#46BFBD"
    ]

    obj = DadosAbertos()
    proposicoes = obj.proposicoes()

    dados = {}
    for proposicao in proposicoes:
        partido = proposicao['siglaTipo']
        if partido in dados:
            dados[partido] += 1
        else:
            dados[partido] = 1

    labels = dados.keys()
    values = dados.values()

    return render_template('index.html',
                           title='Proposições X Partidos',
                           max=100,
                           set=zip(values, labels, colors))
def partidos():
    obj = DadosAbertos()
    partidos = obj.partidos()
    info = {}
    for partido in partidos:
        info['sigla'] = partido['sigla']
        info['nome'] = partido['nome']
        info['deputados'] = obj.deputados_partido(partido['sigla'])
        info['gastos'] = gastos_por_partido(info['deputados'])
        partidos_info.append(info.copy())

    return render_template('listaPartidos.html', partidos=partidos_info)
예제 #5
0
def coleta():

    # hostname do mongodb, consultado via variavel de ambiente
    server_mongo = 'mongodb'

    # Conexao ao mongoDB
    conn = MongoClient(server_mongo, 27017)

    # Conexao ao database
    banco = conn['projetoDep']

    # Conexao a tabela de banco de dados
    table = banco['deputados']

    # Array que vai receber os dados do deputados
    list_deputados = []

    #Conexao com api dos dados publicos
    obj = DadosAbertos()

    # Listando os deputados
    list_dep = obj.deputados()

    #######################################

    x = table.find({}, {"_id": 1})
    lista_id_deputados = []
    for item in x:
        lista_id_deputados.append(item['_id'])

    dicionario_discursos = {}
    for id_deputado in lista_id_deputados:
        dicionario_discursos[id_deputado] = len(
            obj.deputado_discursos(id_deputado))

    #########################################

    for dep in list_dep:
        info = {
            '_id': dep['id'],
            'Nome': dep['nome'],
            'Partido': dep['siglaPartido'],
            'Foto': dep['urlFoto'],
            'qtd_discursos': dicionario_discursos[dep['id']]
        }
        list_deputados.append(info)
    # Inserindo dados no mongodb
    retorno = table.insert_many(list_deputados)
    print(retorno)
예제 #6
0
def deputados():
   obj = DadosAbertos()
   list_dep = obj.deputados()

   partidos = {}

   for dep in list_dep:
       partido = dep['siglaPartido']
       if partido in partidos:
             partidos[partido] += 1
       else:
          partidos[partido] =  1
      
   bar_labels=partidos.keys()
   bar_values=partidos.values()

   return render_template('index.html', max=100, labels=bar_labels, values=bar_values)
def gastos_por_partido(deputados):
    obj = DadosAbertos()
    gastos = {}
    gastosPassagemAerea = 0
    detalhesPassagemAerea = []
    gastosCombustiveisLubrificantes = 0
    detalhesCombustiveisLubrificantes = []
    gastosAlimentacao = 0
    detalhesAlimentacao = []
    gastosApoioAtividade = 0
    detalhesApoioAtividade = []
    for deputado in deputados:
        despesas = obj.deputado_despesas(deputado['id'])
        info = {}
        info['deputado'] = deputado['nome']
        for despesa in despesas:
            if (despesa['tipoDespesa'] == "COMBUSTÍVEIS E LUBRIFICANTES."):
                gastosCombustiveisLubrificantes += despesa['valorLiquido']
                info['despesa'] = despesa
                detalhesCombustiveisLubrificantes.append(info.copy())
            if (despesa['tipoDespesa'] == "PASSAGENS AÉREAS"):
                gastosPassagemAerea += despesa['valorLiquido']
                info['despesa'] = despesa
                detalhesPassagemAerea.append(info.copy())
            if (despesa['tipoDespesa'] ==
                    "FORNECIMENTO DE ALIMENTAÇÃO DO PARLAMENTAR"):
                gastosAlimentacao += despesa['valorLiquido']
                info['despesa'] = despesa
                detalhesAlimentacao.append(info.copy())
            if (despesa['tipoDespesa'] ==
                    "MANUTENÇÃO DE ESCRITÓRIO DE APOIO À ATIVIDADE PARLAMENTAR"
                ):
                gastosApoioAtividade += despesa['valorLiquido']
                info['despesa'] = despesa
                detalhesApoioAtividade.append(info.copy())
    gastos['gastosPassagemAerea'] = gastosPassagemAerea
    gastos['detalhesPassagemAerea'] = detalhesPassagemAerea
    gastos['gastosCombustiveisLubrificantes'] = gastosCombustiveisLubrificantes
    gastos[
        'detalhesCombustiveisLubrificantes'] = detalhesCombustiveisLubrificantes
    gastos['gastosAlimentacao'] = gastosAlimentacao
    gastos['detalhesAlimentacao'] = detalhesAlimentacao
    gastos['gastosApoioAtividade'] = gastosApoioAtividade
    gastos['detalhesApoioAtividade'] = detalhesApoioAtividade
    return gastos
예제 #8
0
def partido():
   obj  = DadosAbertos()
   list_dep = obj.deputados()
   title = "Deputados eleitos por partido"

   estados = {}

   for dep in list_dep:
       uf = dep['siglaPartido']
       if uf in estados:
             estados[uf] += 1
       else:
          estados[uf] =  1
      
   bar_labels=estados.keys()
   bar_values=estados.values()

   return render_template('index.html', max=100, labels=bar_labels, values=bar_values, texto=title)
예제 #9
0
def deputado(id):
   obj    = DadosAbertos()
   info   = obj.deputado_id(id)
   gastos = obj.deputado_despesas(id)

   valores = {}
   for gasto in gastos:
       data = str(gasto['mes']) + '/' + str(gasto['ano'])

       if data in valores:
          valores[data] += gasto['valorLiquido']    
       else:
          valores[data] = gasto['valorLiquido']   
       
   line_labels = valores.keys()
   line_values = valores.values()

   return render_template('gastos.html', title='Gráfico de Gastos', max=10000, labels=line_labels, values=line_values)
예제 #10
0
def deputados():
   obj = DadosAbertos()
   list_dep = obj.deputados()

   estados = {}

   for dep in list_dep:
       estado = dep['siglaUf']
       if estado in estados:
             estados[estado] += 1
       else:
          estados[estado] =  1
   #print(estados)
          
   bar_labels=estados.keys()
   bar_values=estados.values()

   return render_template('index.html', max=80, labels=bar_labels, values=bar_values)
예제 #11
0
def deputado(id):
   obj    = DadosAbertos()
   gastos = obj.deputado_despesas(id)
   valorGasto = 0
   valores = {}
   for gasto in gastos:
       
       valorGasto += round(float(gasto['valorLiquido']),2)
       data = str(gasto['mes']) + '/' + str(gasto['ano'])

       if data in valores:
          valores[data] += gasto['valorLiquido']    
       else:
          valores[data] = gasto['valorLiquido']   
       
   line_labels = valores.keys()
   line_values = valores.values()
    
   return render_template('gastos.html', title='Gráfico de Gastos', max= round(valorGasto,0), labels=line_labels, values=line_values, listaGastos=gastos, totalGasto=round(valorGasto,2))
예제 #12
0
def deputado(id):
    obj = DadosAbertos()
    info = obj.deputado_id(id)
    gastos = obj.deputado_despesas(id)
    datahoje = date.today()
    meshoje = datahoje.month
    valores = {}
    meses = [
        "Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho",
        "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"
    ]
    # Labels data

    line_months = []

    for x in range(6):
        line_months.append(meses[meshoje])
        meshoje = meshoje - 1

    line_months.reverse()
    line_data = []
    for gasto in gastos:
        data = str(gasto['mes']) + '/' + str(gasto['ano'])

        if data in valores:
            line_data.append(gasto['valorLiquido'])
        else:
            line_data.append(gasto['valorLiquido'])

    line_labels = valores.keys()
    line_values = valores.values()
    line_data.append(random.randint(100, 5000))
    line_data.append(random.randint(100, 5000))

    return render_template('gastos.html',
                           title='Gráfico de Gastos',
                           max=10000,
                           labels=line_labels,
                           values=line_data,
                           meses=line_months,
                           x=random.randint(100, 5000),
                           y=random.randint(100, 5000))
def deputado(id):
    obj = DadosAbertos()
    info = obj.deputado_id(id)
    gastos = obj.deputado_despesas(id)

    valores = {}
    for gasto in gastos:
        data = str(gasto['mes']) + '/' + str(gasto['ano'])

        if data in valores:
            valores[data] += gasto['valorLiquido']
        else:
            valores[data] = gasto['valorLiquido']

    line_labels = valores.keys()
    line_values = valores.values()

    return render_template('gastos.html',
                           title='Gráfico de Gastos',
                           max=10000,
                           labels=line_labels,
                           values=line_values)
예제 #14
0
def coleta():


   # hostname do mongodb, consultado via variavel de ambiente
   server_mongo = 'mongodb'

   # Conexao ao mongoDB
   conn = MongoClient(server_mongo, 27017)


   # Conexao ao database
   banco = conn['projetoDep']

   # Conexao a tabela de banco de dados
   table = banco['deputados']

   # Array que vai receber os dados do deputados
   list_deputados = []

   #Conexao com api dos dados publicos
   obj = DadosAbertos()

   # Listando os deputados
   list_dep = obj.deputados()

   for dep in list_dep:
	   id   = dep['id']
       infodep = list_dep.deputado_despesas(id)
	   for info in infodep:
			valorGasto += round(float(info['valorLiquido']),2)
	   info = {
	   		'_id'    : dep['id'],
	   		'Nome'   : dep['nome'],
	   		'Partido': dep['siglaPartido'],
	   		'Foto'   : dep['urlFoto'],
	   		'Estado' : dep['siglaUf'],
			'Gasto'  : valorGasto
	   }
	   list_deputados.append(info)
예제 #15
0
def deputados():
   obj = DadosAbertos()
   list_dep = obj.deputados()
   info = obj.deputado_id(id)
    
   escolaridades = {}  
   cont = 0  

   for dep in list_dep:
        info = obj.deputado_id(dep['id'])
        escolaridade = info['escolaridade']
        if escolaridade in escolaridades:
             escolaridades[escolaridade] += 1
        else:
          escolaridades[escolaridade]  =  1
       # cont += 1
       # if cont == 30:
        #  break  
   print(escolaridades)
   bar_labels=escolaridades.keys()
   bar_values=escolaridades.values()

   return render_template('index.html', max=280, labels=bar_labels, values=bar_values)
예제 #16
0
def deputados():
       
   colors = [
    "#F7464A", "#46BFBD", "#FDB45C", "#FEDCBA",
    "#ABCDEF", "#DDDDDD", "#ABCABC", "#4169E1",
    "#C71585", "#FF4500", "#FEDCBA", "#46BFBD"]

   obj = DadosAbertos()
   proposicoes = obj.proposicoes()
   

   dados = {} 
   for proposicao in proposicoes:
       partido = proposicao['siglaTipo']   
       if partido in dados:
          dados[partido] +=1   
       else:
          dados[partido] = 1   
   
   labels=dados.keys()
   values=dados.values()

   
   return render_template('index.html', title='Proposições X Partidos', max=100, set=zip(values, labels, colors))
예제 #17
0
def deputado(id):
   obj    = DadosAbertos()
   info   = obj.deputado_id(id)
   gastos = obj.deputado_despesas(id)
   return render_template('gastos.html', listas=info, gastos=gastos)
def deputados():
    obj = DadosAbertos()
    list_dep = obj.deputados()

    return render_template('lista.html', listas=list_dep)
예제 #19
0
def deputados():
   obj = DadosAbertos()
   list_dep = obj.deputados()

   return render_template('lista.html', listas=list_dep)
예제 #20
0
def deputado(id):
    obj = DadosAbertos()
    info = obj.deputado_id(id)
    gastos = obj.deputado_despesas(id)
    return render_template('gastos.html', listas=info, gastos=gastos)
예제 #21
0
def deputado(id):
   obj  = DadosAbertos()
   info = obj.deputado_id(id)

   return render_template('deputado.html', listas=info)
예제 #22
0
def eventos(id):
   obj    = DadosAbertos()
   orgaos = obj.deputado_orgaos(id)

   return render_template('orgaos.html', listas=orgaos)