diff options
author | Wojtek Kosior <koszko@koszko.org> | 2022-08-23 09:26:16 +0200 |
---|---|---|
committer | Wojtek Kosior <koszko@koszko.org> | 2022-09-28 12:54:52 +0200 |
commit | 5fefb11ffd50dcda826cd5a256c8b3f650221050 (patch) | |
tree | d98721a1b054b894e282668aea79157788903e73 /src/hydrilla/proxy/web_ui/packages.py | |
parent | c100476b0a34f5098efc96bf2487f09b66b4a6c4 (diff) | |
download | haketilo-hydrilla-5fefb11ffd50dcda826cd5a256c8b3f650221050.tar.gz haketilo-hydrilla-5fefb11ffd50dcda826cd5a256c8b3f650221050.zip |
introduce package installation state enum
Diffstat (limited to 'src/hydrilla/proxy/web_ui/packages.py')
-rw-r--r-- | src/hydrilla/proxy/web_ui/packages.py | 35 |
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) |