You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

41 lines
1.0 KiB

from flask import (
request,
jsonify,
current_app,
render_template,
send_file,
Blueprint
)
from acks.views import basic_auth
from .quest_manager import (
load_quests,
get_quest_details,
get_quest_archive
)
quest_views = Blueprint(
'quest_manager',
__name__,
template_folder='templates',
url_prefix='/quest'
)
@quest_views.route('/list')
@basic_auth.required
def quest_list():
quests = load_quests()
return render_template('quest_list.html', quest_map=quests)
@quest_views.route('/detail/<int:level>/<string:quest_name>')
@basic_auth.required
def quest_detail(level, quest_name):
quest = get_quest_details(level, quest_name)
return render_template('quest_detail.html', quest=quest)
@quest_views.route('/detail/<int:level>/<string:quest_name>/download')
@basic_auth.required
def quest_download(level, quest_name):
archive = get_quest_archive(level, quest_name)
return send_file(archive, attachment_filename="acks_{0}.zip".format(quest_name), as_attachment=True)