empresa-libre/source/app/main.py

45 lines
1.1 KiB
Python
Raw Normal View History

2017-06-27 15:43:02 -05:00
#!/usr/bin/env python3
import falcon
from beaker.middleware import SessionMiddleware
2017-06-28 23:55:53 -05:00
from middleware import AuthMiddleware, JSONTranslator, static, handle_404
from models.db import StorageEngine
from controllers.main import AppLogin, AppLogout, AppMain, AppPartners
from controllers.helper import AppPostalCode
2017-06-27 15:43:02 -05:00
from settings import DEBUG, WITH_LOGIN
db = StorageEngine()
pc = AppPostalCode()
login = AppLogin(db)
logout = AppLogout(db)
main = AppMain(db)
partners = AppPartners(db)
2017-06-28 23:55:53 -05:00
api = falcon.API(middleware=[AuthMiddleware(), JSONTranslator()])
2017-06-27 15:43:02 -05:00
api.req_options.auto_parse_form_urlencoded = True
2017-06-28 23:55:53 -05:00
api.add_sink(handle_404, '')
2017-06-27 15:43:02 -05:00
if WITH_LOGIN:
api.add_route('/', login)
api.add_route('/logout', logout)
api.add_route('/main', main)
api.add_route('/partners', partners)
2017-06-28 23:55:53 -05:00
api.add_route('/pc', pc)
2017-06-27 15:43:02 -05:00
if DEBUG:
2017-06-28 23:55:53 -05:00
api.add_sink(static, '/static')
2017-06-27 15:43:02 -05:00
session_opts = {
'session.type': 'file',
'session.cookie_expires': True,
'session.data_dir': '/tmp/cache/data',
'session.lock_dir': '/tmp/cache/lock',
#~ 'session.httponly': True,
#~ 'session.secure': True,
}
app = SessionMiddleware(api, session_opts)