35 lines
939 B
Python
35 lines
939 B
Python
from flask import Flask, request, render_template
|
|
from .config import Config
|
|
from .api import api_bp
|
|
|
|
def create_app():
|
|
app = Flask(__name__)
|
|
app.config.from_object(Config)
|
|
|
|
app.register_blueprint(api_bp, url_prefix='/api')
|
|
|
|
@app.route('/favicon.ico')
|
|
def favicon():
|
|
return '', 204
|
|
|
|
@app.after_request
|
|
def add_cache_headers(response):
|
|
if request.path.startswith('/static/'):
|
|
max_age = app.config['STATIC_CACHE_MAX_AGE']
|
|
response.headers['Cache-Control'] = f'public, max-age={max_age}'
|
|
return response
|
|
|
|
@app.route('/')
|
|
def index():
|
|
template_vars = {
|
|
'APP_TITLE': app.config['APP_TITLE'],
|
|
'APP_FOOTER': app.config['APP_FOOTER']
|
|
}
|
|
return render_template('main.html', config=template_vars)
|
|
|
|
@app.route('/api/health')
|
|
def health():
|
|
return {'status': 'OK'}
|
|
|
|
return app
|