From 5fefb11ffd50dcda826cd5a256c8b3f650221050 Mon Sep 17 00:00:00 2001 From: Wojtek Kosior Date: Tue, 23 Aug 2022 09:26:16 +0200 Subject: introduce package installation state enum --- src/hydrilla/proxy/web_ui/packages.py | 35 ++++++++++++++++++++++++++++++++--- 1 file changed, 32 insertions(+), 3 deletions(-) (limited to 'src/hydrilla/proxy/web_ui/packages.py') 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/') 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/') +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) -- cgit v1.2.3