From 1e6dfffba3033c3418a1c22599b7edca730e67fb Mon Sep 17 00:00:00 2001 From: Rick Elrod Date: Jun 01 2019 19:14:33 +0000 Subject: use blueprints to ensure ALL checksums get frozen, and add keys Signed-off-by: Rick Elrod --- diff --git a/sites/getfedora.org/main.py b/sites/getfedora.org/main.py index 9635a65..389ea88 100644 --- a/sites/getfedora.org/main.py +++ b/sites/getfedora.org/main.py @@ -143,7 +143,7 @@ def inject_globalvars(): def checksum_link(link): global checksum_links checksum_links.add(link) - return url_for('checksums', filename=link) + return url_for('checksums.static', filename=link) return dict( dl=download_link, checksum=checksum_link, @@ -167,6 +167,15 @@ def get_locale(): translations = [str(translation) for translation in babel.list_translations()] return g.get('current_lang', app.config['BABEL_DEFAULT_LOCALE']) +# We register these as blueprints so that everything in these folders gets +# frozen. This is slightly hacky, but not too bad. +keys = Blueprint('keys', __name__, static_folder='static/keys', static_url_path='/static/keys') +app.register_blueprint(keys) + +checksums = Blueprint('checksums', __name__, static_folder='static/checksums', static_url_path='/static/checksums') +app.register_blueprint(checksums) + + # This is a more manual attempt at still having some automation. freeze_indexes = set() def export_route(name, path, template=None): @@ -215,15 +224,6 @@ export_route('sponsors', '/sponsors/') def releases_json(): return send_from_directory('static', 'releases.json') -@app.route('/static/keys/') -def gpg_keys(filename): - return send_from_directory('static/keys', filename) - -# TODO: Use flask-multistatic to make these unnecessary. -@app.route('/static/checksums/') -def checksums(filename): - return send_from_directory('static/checksums', filename) - @app.route('/static/fedora.gpg') def gpgkey(): return send_from_directory('static', 'fedora.gpg')