-
Notifications
You must be signed in to change notification settings - Fork 0
/
server.py
67 lines (50 loc) · 1.78 KB
/
server.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
66
67
from flask import Flask, render_template, request, g, url_for, redirect
from unicodedata import normalize as normal
from database import AcessoBD
app = Flask(__name__)
dba = AcessoBD()
@app.route('/', methods=['GET', 'POST'])
def index():
cams = dba.get_entes(ente='Câmara')
prefs = dba.get_entes(ente='Prefeitura')
return render_template('index.html', cams=cams, prefs=prefs)
@app.route('/sobre')
def sobre():
return render_template('sobre.html')
@app.route('/consulta-basica', methods=['POST'])
def consulta_basica():
req = request.form
cidade = req['municipio'].lower().replace(' ', '-')
cidade = None
for municipio in g.municipios:
if(str(municipio) == req['municipio']):
cidade = municipio.nome_tratado
break
ente = req['entidade'].lower()
ente = normal('NFKD', ente).encode('ASCII', 'ignore').decode('ASCII')
return redirect('/dados/{}/{}'.format(cidade, ente))
@app.route('/dados/', defaults={'cidade': None, 'ente': None})
@app.route('/dados/<cidade>/<ente>')
def dados_abertos(cidade, ente):
temp = None
for municipio in g.municipios:
if(municipio.nome_tratado == cidade):
temp = municipio
break
cidade = temp
if(ente in ['camara', 'prefeitura']):
temp = {'camara': 'Câmara', 'prefeitura': 'Prefeitura'}
ente = temp[ente]
else:
ente = None
if(not cidade or not ente):
return redirect(url_for('index'))
lics = dba.get_licitacoes(municipio, ente)
return render_template('dados-entidades.html', ente=ente,
municipio=municipio, lics=lics)
@app.before_request
def before_request():
g.brand_name = 'Dados Abertos CE'
g.municipios = dba.get_municipios()
if(__name__ == '__main__'):
app.run()