diff options
Diffstat (limited to 'uploader/base_routes.py')
-rw-r--r-- | uploader/base_routes.py | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/uploader/base_routes.py b/uploader/base_routes.py new file mode 100644 index 0000000..88247b2 --- /dev/null +++ b/uploader/base_routes.py @@ -0,0 +1,50 @@ +"""Basic routes required for all pages""" +import os + +from flask import ( + Blueprint, + render_template, + current_app as app, + send_from_directory) + +from uploader.oauth2.client import user_logged_in + +base = Blueprint("base", __name__) + + +@base.route("/favicon.ico", methods=["GET"]) +def favicon(): + """Return the favicon.""" + return send_from_directory(os.path.join(app.root_path, "static"), + "images/CITGLogo.png", + mimetype="image/png") + + +@base.route("/", methods=["GET"]) +def index(): + """Load the landing page""" + return render_template("index.html" if user_logged_in() else "login.html") + +def appenv(): + """Get app's guix environment path.""" + return os.environ.get("GN_UPLOADER_ENVIRONMENT") + +@base.route("/bootstrap/<path:filename>") +def bootstrap(filename): + """Fetch bootstrap files.""" + return send_from_directory( + appenv(), f"share/genenetwork2/javascript/bootstrap/{filename}") + + +@base.route("/jquery/<path:filename>") +def jquery(filename): + """Fetch jquery files.""" + return send_from_directory( + appenv(), f"share/genenetwork2/javascript/jquery/{filename}") + + +@base.route("/node-modules/<path:filename>") +def node_modules(filename): + """Fetch node-js modules.""" + return send_from_directory( + appenv(), f"lib/node_modules/{filename}") |