-
Notifications
You must be signed in to change notification settings - Fork 0
/
app.py
92 lines (73 loc) · 2.91 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
81
82
83
84
85
86
87
88
89
90
91
92
import os
import logging
import sys
from flask import Flask, jsonify
from pymongo import MongoClient
from logging import StreamHandler
import requests
from urlparse import urljoin
application = Flask(__name__)
DB_URL = os.environ["DB_URL"]
DB_NAME = os.environ["DB_NAME"]
LOG_LEVEL = os.environ["LOG_LEVEL"]
TOKEN_DURATION = int(os.environ["TOKEN_DURATION"])
SHARED_SERVER_URL = os.environ.get('SS_URL','https://taller2-fiuber-shared-server.herokuapp.com/api/')
SS_TOKEN = requests.post(urljoin(SHARED_SERVER_URL, 'auth/token'), json={'username': "appserver",
'password': "appserver"}).json()['token']
def get_log_level(log_level):
if log_level == "INFO":
return logging.INFO
elif log_level == "DEBUG":
return logging.DEBUG
elif log_level == "WARN":
return logging.WARN
elif log_level == "ERROR":
return logging.ERROR
return logging.info
@application.route("/")
def index():
return "Hello world!"
@application.route("/api/post", methods=['GET'])
def api_post():
data = list()
data.append({"message": "Buenas buenas, la app se comunica con el server."})
return jsonify(data)
@application.route("/test/users")
def get_db_users():
client = MongoClient(DB_URL)
users = client.fiuberdb.users.find({}, {"name": 1, "_id": 0})
data = []
while users.alive:
data.append(users.next()["name"])
return jsonify(data)
@application.route("/test/log")
def log_test():
application.logger.warning('Log test (%d st line)', 1)
application.logger.error('No error occurred,just testing')
application.logger.info('Info test')
application.logger.debug('debut info')
return "Done"
formatter = logging.Formatter(
"[%(asctime)s] {%(pathname)s:%(lineno)d} %(levelname)s - %(message)s")
handler = StreamHandler(sys.stdout)
handler.setLevel(get_log_level(LOG_LEVEL))
handler.setFormatter(formatter)
application.logger.addHandler(handler)
application.logger.setLevel(get_log_level(LOG_LEVEL))
db = MongoClient(DB_URL)[DB_NAME]
from src.handlers.RegisterHandler import REGISTRATION_BLUEPRINT
from src.handlers.SecurityHandler import SECURITY_BLUEPRINT
from src.handlers.DriversHandler import DRIVERS_BLUEPRINT
from src.handlers.PositionHandler import POSITION_BLUEPRINT
from src.handlers.RequestHandler import REQUESTS_BLUEPRINT
from src.handlers.TokenRegistrationHandler import TOKEN_MANIPULATION_BLUEPRINT
from src.handlers.TripHandler import TRIPS_BLUEPRINT
application.register_blueprint(REGISTRATION_BLUEPRINT)
application.register_blueprint(SECURITY_BLUEPRINT)
application.register_blueprint(DRIVERS_BLUEPRINT)
application.register_blueprint(POSITION_BLUEPRINT)
application.register_blueprint(REQUESTS_BLUEPRINT)
application.register_blueprint(TOKEN_MANIPULATION_BLUEPRINT)
application.register_blueprint(TRIPS_BLUEPRINT)
if __name__ == "__main__":
application.run(debug=True, host='0.0.0.0')