kappa123/kappa123/server/main/views.py

58 lines
1.4 KiB
Python
Raw Normal View History

# kappa123/server/main/views.py
2015-01-21 08:32:17 -08:00
#################
#### imports ####
#################
2017-07-03 17:48:42 -07:00
import botocore.session
from flask import render_template, Blueprint, request, redirect
2017-07-03 18:31:27 -07:00
from kappa123.server.intpack import pack_ints, unpack_ints
from kappa123.server.runs import inject_run_class, fetch_or_cache_runs
2015-01-21 08:32:17 -08:00
################
#### config ####
################
main_blueprint = Blueprint('main', __name__,)
################
#### routes ####
################
@main_blueprint.route('/')
def home():
all_runs = fetch_or_cache_runs()
return render_template(
'main/home.html',
runs=all_runs
)
2015-01-21 08:32:17 -08:00
@main_blueprint.route("/about/")
def about():
return render_template("main/about.html")
@main_blueprint.route("/<preferences>")
def returning_user(preferences):
unpacked_set = unpack_ints(preferences)
all_runs = fetch_or_cache_runs()
runs = inject_run_class(all_runs, unpacked_set)
return render_template(
"main/home.html",
runs=runs
)
2017-07-03 17:48:42 -07:00
@main_blueprint.route("/code")
def agplv3_compliance():
context = request.environ.get('lambda.context')
session = botocore.session.get_session()
# region name is detected from lambda environment
client = session.create_client('lambda')
code = client.get_function(FunctionName=context.function_name,
Qualifier=context.function_version)
return redirect(code['Code']['Location'], code=303)