empresa-libre/source/app/main.py

52 lines
1.2 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-09-30 23:14:44 -05:00
from middleware import (
AuthMiddleware,
JSONTranslator,
ConnectionMiddleware,
static,
handle_404
)
2017-06-28 23:55:53 -05:00
from models.db import StorageEngine
2017-09-21 23:24:18 -05:00
from controllers.main import (
2017-10-07 23:52:11 -05:00
AppLogin, AppLogout, AppAdmin, AppEmisor,
AppMain, AppValues, AppPartners, AppProducts, AppInvoices
2017-09-21 23:24:18 -05:00
)
from settings import DEBUG
2017-06-27 15:43:02 -05:00
db = StorageEngine()
2017-09-30 23:14:44 -05:00
api = falcon.API(
middleware=[AuthMiddleware(), JSONTranslator(), ConnectionMiddleware()])
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-09-21 23:24:18 -05:00
api.add_route('/', AppLogin(db))
api.add_route('/logout', AppLogout(db))
api.add_route('/admin', AppAdmin(db))
2017-10-07 23:52:11 -05:00
api.add_route('/emisor', AppEmisor(db))
2017-09-21 23:24:18 -05:00
api.add_route('/main', AppMain(db))
2017-10-02 00:12:22 -05:00
api.add_route('/values/{table}', AppValues(db))
api.add_route('/partners', AppPartners(db))
2017-10-04 00:11:49 -05:00
api.add_route('/products', AppProducts(db))
2017-10-06 00:10:27 -05:00
api.add_route('/invoices', AppInvoices(db))
2017-06-27 15:43:02 -05:00
2017-10-07 23:52:11 -05:00
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
2017-09-21 23:24:18 -05:00
session_options = {
2017-06-27 15:43:02 -05:00
'session.type': 'file',
'session.cookie_expires': True,
'session.data_dir': '/tmp/cache/data',
'session.lock_dir': '/tmp/cache/lock',
}
2017-09-21 23:24:18 -05:00
app = SessionMiddleware(api, session_options)
2017-06-27 15:43:02 -05:00