-
Notifications
You must be signed in to change notification settings - Fork 8
/
run.py
65 lines (43 loc) · 1.71 KB
/
run.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# -*- coding: utf-8 -*-
from flask import Flask, render_template, jsonify, request
app = Flask('app')
@app.route("/")
def hello():
return "Hello World in Flask!"
@app.route("/<name>")
def index(name):
return "Olá {}".format(name), 200
@app.route("/html/<nome>")
def html_page(nome):
return render_template("html_page.html", nome=nome)
@app.route("/html/dog")
def html_dog():
import requests
nome = request.args.get('nome')
# API utilizada é a TheDogApi - https://docs.thedogapi.com/
dogImage = requests.get('https://api.thedogapi.com/v1/images/search')
url = dogImage.json()[0].get('url')
return render_template("html_page.html", nome=nome, image=url)
@app.route("/jsonify")
def json_api_jsonify():
pessoas = [{"nome": "Ana", "idade": 35},
{"nome": "Claudia", "idade": 26},
{"nome": "Priscila", "idade": 42},
{"nome": "Carine", "idade": 22}]
return jsonify(pessoas=pessoas, total=len(pessoas))
@app.route("/topvereadores2020/")
def get_top_votos_candidatos():
cargo = request.args.get('cargo', 'Vereador')
indice = request.args.get('indice', 3)
votacoes = get_top_votos(cargo, indice)
return jsonify(votacoes.to_dict(orient ='records'))
def get_top_votos(cargo, indice):
import pandas as pd
dados = pd.read_csv('dados/dados.csv', usecols ='''NM_URNA_CANDIDATO SG_PARTIDO
TOTAL_VOTOS NM_MUNICIPIO DS_CARGO'''.split(), sep=",")
dados = dados.loc[dados['DS_CARGO'] == cargo][['NM_URNA_CANDIDATO', 'SG_PARTIDO', 'TOTAL_VOTOS']]
dados = dados.sort_values('TOTAL_VOTOS', ascending=False).head(indice)
return dados
app.run(debug=True, use_reloader=True)
if __name__ == "__main__":
app.run()