36 lines
1.1 KiB
Python
36 lines
1.1 KiB
Python
from flask import Flask
|
|
from flask import globals
|
|
from flask import render_template
|
|
from datetime import timedelta
|
|
|
|
from app.admin import m_admin
|
|
from app.auth import m_auth
|
|
from app.print import m_print
|
|
from app.config import _SECRET_SESSION_KEY as SESSION_KEY
|
|
|
|
def get_app():
|
|
app = Flask(__name__)
|
|
app.secret_key = SESSION_KEY
|
|
|
|
app.config['PERMANENT_SESSION_LIFETIME'] = timedelta(days=30)
|
|
app.config['MAX_CONTENT_LENGTH'] = 10 * 1024 * 1024 # 10mb
|
|
|
|
@app.errorhandler(Exception)
|
|
def e_handler(e):
|
|
code = getattr(e, 'code', 500)
|
|
if code.__eq__(404):
|
|
return app.redirect('/')
|
|
return render_template('error.html', error=e), code
|
|
|
|
app.register_blueprint(m_print)
|
|
app.register_blueprint(m_auth, url_prefix='/auth')
|
|
app.register_blueprint(m_admin, url_prefix='/admin')
|
|
|
|
from app._tools.database import DataManager
|
|
from app._tools.database import SessionManager
|
|
DataManager.init_table()
|
|
DataManager.check_admins()
|
|
SessionManager.init_table()
|
|
|
|
|
|
return app |