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.py35
1 files changed, 32 insertions, 3 deletions
diff --git a/src/hydrilla/proxy/web_ui/packages.py b/src/hydrilla/proxy/web_ui/packages.py
index 90876aa..d4146a5 100644
--- a/src/hydrilla/proxy/web_ui/packages.py
+++ b/src/hydrilla/proxy/web_ui/packages.py
@@ -94,7 +94,7 @@ def load_from_disk_post() -> werkzeug.Response:
@bp.route('/packages')
def packages() -> werkzeug.Response:
- store = _app.get_haketilo_state().mapping_version_store()
+ store = _app.get_haketilo_state().mapping_store()
html = flask.render_template(
'packages.html.jinja',
@@ -105,11 +105,40 @@ def packages() -> werkzeug.Response:
@bp.route('/packages/view/<string:mapping_id>')
def show_package(mapping_id: str) -> werkzeug.Response:
try:
- store = _app.get_haketilo_state().mapping_version_store()
- display_info = store.get(mapping_id).get_display_info()
+ store = _app.get_haketilo_state().mapping_store()
+ mapping_ref = store.get(str(mapping_id))
+ version_display_infos = mapping_ref.get_version_display_infos()
+
+ active_list = [info for info in version_display_infos if info.is_active]
+
+ active_version_ref = None if active_list == [] else active_list[0].ref
+ active_version_info = None if active_list == [] else active_list[0].info
+
+ display_info = st.MappingDisplayInfo(
+ ref = mapping_ref,
+ identifier = version_display_infos[0].info.identifier,
+ enabled = version_display_infos[0].mapping_enabled,
+ active_version_ref = active_version_ref,
+ active_version_info = active_version_info
+ )
html = flask.render_template(
'packages__show_single.html.jinja',
+ display_info = display_info,
+ version_display_infos = version_display_infos
+ )
+ return flask.make_response(html, 200)
+ except st.MissingItemError:
+ flask.abort(404)
+
+@bp.route('/packages/viewversion/<string:mapping_version_id>')
+def show_package_version(mapping_version_id: str) -> werkzeug.Response:
+ try:
+ store = _app.get_haketilo_state().mapping_version_store()
+ display_info = store.get(mapping_version_id).get_display_info()
+
+ html = flask.render_template(
+ 'packages__show_single_version.html.jinja',
display_info = display_info
)
return flask.make_response(html, 200)