27 lines
783 B
Python
27 lines
783 B
Python
"""
|
|
Holds the blueprint for serving the static folder.
|
|
THIS WILL ONLY BE FUNCTIONAL IN DEBUG MODE, as Nginx should serve the static folder in production.
|
|
"""
|
|
|
|
import os
|
|
|
|
import flask
|
|
|
|
staticBP = flask.Blueprint('staticPage', __name__, static_folder='../www/')
|
|
|
|
@staticBP.route('/', defaults={'path': 'index.html'})
|
|
@staticBP.route('/<path:path>')
|
|
def staticPage(path):
|
|
"""
|
|
Returns anything requested in the static folder.
|
|
"""
|
|
|
|
if not flask.current_app.debug:
|
|
# Return forbidden code if trying to access static files in production mode.
|
|
flask.abort(403)
|
|
|
|
if os.path.isfile(os.path.join(staticBP.static_folder, path, 'index.html')):
|
|
path = os.path.join(path, 'index.html')
|
|
|
|
return flask.send_from_directory(staticBP.static_folder, path)
|