aboutsummaryrefslogtreecommitdiff
path: root/src/hydrilla/proxy/web_ui/packages.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/hydrilla/proxy/web_ui/packages.py')
-rw-r--r--src/hydrilla/proxy/web_ui/packages.py23
1 files changed, 7 insertions, 16 deletions
diff --git a/src/hydrilla/proxy/web_ui/packages.py b/src/hydrilla/proxy/web_ui/packages.py
index f38ea13..90876aa 100644
--- a/src/hydrilla/proxy/web_ui/packages.py
+++ b/src/hydrilla/proxy/web_ui/packages.py
@@ -35,7 +35,6 @@ import tempfile
import zipfile
import typing as t
-from urllib.parse import urlparse
from pathlib import Path
import flask
@@ -55,16 +54,12 @@ class InvalidUploadedMalcontent(HaketiloException):
bp = flask.Blueprint('load_packages', __package__)
@bp.route('/packages/load_from_disk', methods=['GET'])
-def load_from_disk_get() -> flask.Response:
+def load_from_disk_get() -> werkzeug.Response:
html = flask.render_template('packages__load_from_disk.html.jinja')
return flask.make_response(html, 200)
@bp.route('/packages/load_from_disk', methods=['POST'])
def load_from_disk_post() -> werkzeug.Response:
- parsed_url = urlparse(flask.request.referrer)
- if parsed_url.netloc != 'hkt.mitm.it':
- return load_from_disk_get()
-
zip_file_storage = flask.request.files.get('packages_zipfile')
if zip_file_storage is None:
return load_from_disk_get()
@@ -90,31 +85,27 @@ def load_from_disk_post() -> werkzeug.Response:
else:
malcontent_dir_path = tmpdir_child
- state = t.cast(_app.WebUIApp, flask.current_app)._haketilo_state
-
try:
- state.import_packages(malcontent_dir_path)
+ _app.get_haketilo_state().import_packages(malcontent_dir_path)
except:
raise InvalidUploadedMalcontent()
return flask.redirect(flask.url_for('.packages'))
@bp.route('/packages')
-def packages() -> flask.Response:
- state = t.cast(_app.WebUIApp, flask.current_app)._haketilo_state
+def packages() -> werkzeug.Response:
+ store = _app.get_haketilo_state().mapping_version_store()
html = flask.render_template(
'packages.html.jinja',
- display_infos = state.mapping_version_store().get_display_infos()
+ display_infos = store.get_display_infos()
)
return flask.make_response(html, 200)
@bp.route('/packages/view/<string:mapping_id>')
-def show_package(mapping_id: str) -> flask.Response:
- state = t.cast(_app.WebUIApp, flask.current_app)._haketilo_state
-
+def show_package(mapping_id: str) -> werkzeug.Response:
try:
- store = state.mapping_version_store()
+ store = _app.get_haketilo_state().mapping_version_store()
display_info = store.get(mapping_id).get_display_info()
html = flask.render_template(