Mixonomer/music/music.py

62 lines
1.9 KiB
Python
Raw Normal View History

2019-10-10 11:58:17 +01:00
from flask import Flask, render_template, redirect, session, flash, url_for
import logging
2019-07-26 11:05:27 +01:00
import os
2019-10-19 17:14:11 +01:00
from music.auth import auth_blueprint
2019-10-20 21:07:13 +01:00
from music.api import api_blueprint, player_blueprint, fm_blueprint, \
spotfm_blueprint, spotify_blueprint, admin_blueprint, tag_blueprint
from music.model.config import Config
logger = logging.getLogger(__name__)
2019-07-26 11:05:27 +01:00
def create_app():
2021-03-23 22:26:59 +00:00
"""Generate and retrieve a ready-to-run flask app
Returns:
Flask App: Music Tools app
"""
app = Flask(__name__, static_folder=os.path.join(os.path.dirname(__file__), '..', 'build'), template_folder="templates")
2019-07-26 11:05:27 +01:00
config = Config.collection.get("config/music-tools")
if config is not None:
app.secret_key = config.secret_key
2019-08-03 21:35:08 +01:00
else:
logger.error('no config returned, skipping secret key')
app.register_blueprint(auth_blueprint, url_prefix='/auth')
app.register_blueprint(api_blueprint, url_prefix='/api')
app.register_blueprint(player_blueprint, url_prefix='/api/player')
app.register_blueprint(fm_blueprint, url_prefix='/api/fm')
app.register_blueprint(spotfm_blueprint, url_prefix='/api/spotfm')
app.register_blueprint(spotify_blueprint, url_prefix='/api/spotify')
app.register_blueprint(admin_blueprint, url_prefix='/api/admin')
app.register_blueprint(tag_blueprint, url_prefix='/api')
@app.route('/')
def index():
if 'username' in session:
logged_in = True
return redirect(url_for('app_route'))
else:
logged_in = False
2019-08-03 21:35:08 +01:00
return render_template('login.html', logged_in=logged_in)
2019-07-26 11:05:27 +01:00
@app.route('/app', defaults={'path': ''})
@app.route('/app/<path:path>')
def app_route(path):
2019-07-26 11:05:27 +01:00
if 'username' not in session:
flash('please log in')
return redirect(url_for('index'))
return render_template('app.html')
return app
2019-07-26 11:05:27 +01:00
# [END gae_python37_app]