-
Notifications
You must be signed in to change notification settings - Fork 0
/
app.py
80 lines (64 loc) · 1.78 KB
/
app.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
68
69
70
71
72
73
74
75
76
77
78
79
80
# -*- coding: utf-8 -*-
from flask import Flask, Response, request, render_template
app = Flask(__name__)
import json
from models import *
from sqlalchemy.orm import sessionmaker
from sqlalchemy.orm.exc import NoResultFound
from settings import *
from pyga.requests import Tracker, Page, Session, Visitor
from unidecode import unidecode
#app.debug = DEBUG
app.debug = True
GA_TRACKER = "UA-56971050-1"
DOMAIN = "brorlandi.me"
# db session
session = sessionmaker()
session.configure(bind=engine)
Base.metadata.create_all(engine)
s = session()
@app.route("/")
def hello():
return render_template("index.html")
@app.route("/by_name/<name>")
def by_name(name):
r = s.query(SalarioUSP).filter(SalarioUSP.nome.ilike("%"+name+"%"))
json_r = [ serialize(sal) for sal in r]
if len(json_r) == 0:
code = 1
data = u"Salário não encontrado."
else:
code = 0
data = json_r
response = {'code': code, 'data': data}
json_str = json.dumps(response)
return Response(json_str, mimetype='application/json')
@app.route("/icmc/<page_id>")
def icmc(page_id):
try:
r = s.query(Page_ICMC).filter(Page_ICMC.page_id == int(page_id)).one()
json_r = serialize(r.salario_usp)
except NoResultFound:
json_r = None
if json_r == None:
code = 1
data = u"Salário não encontrado."
else:
code = 0
data = json_r
try:
register_event('/ICMC/'+unidecode(r.salario_usp.nome))
except Exception, e:
pass
response = {'code': code, 'data': data}
json_str = json.dumps(response)
return Response(json_str, mimetype='application/json')
def register_event(page):
tracker = Tracker(GA_TRACKER, DOMAIN)
visitor = Visitor()
visitor.extract_from_server_meta(request.environ)
session = Session()
page = Page(page)
tracker.track_pageview(page, session, visitor)
if __name__ == "__main__":
app.run()