diff options
author | Wojtek Kosior <koszko@koszko.org> | 2022-08-25 12:43:29 +0200 |
---|---|---|
committer | Wojtek Kosior <koszko@koszko.org> | 2022-09-28 12:54:53 +0200 |
commit | 503e546b2b0c9dba505a4e7940f257d41ad95f67 (patch) | |
tree | c17f245f8a826d4d385923557681ad372fb58b03 /src/hydrilla/proxy/web_ui | |
parent | 4dbbb2aec204a5cccc713e2e2098d6e0a47f8cf6 (diff) | |
download | haketilo-hydrilla-503e546b2b0c9dba505a4e7940f257d41ad95f67.tar.gz haketilo-hydrilla-503e546b2b0c9dba505a4e7940f257d41ad95f67.zip |
[proxy] properly flag failed package installations in sqlite db
Diffstat (limited to 'src/hydrilla/proxy/web_ui')
4 files changed, 16 insertions, 3 deletions
diff --git a/src/hydrilla/proxy/web_ui/packages.py b/src/hydrilla/proxy/web_ui/packages.py index 5172a07..1edddc0 100644 --- a/src/hydrilla/proxy/web_ui/packages.py +++ b/src/hydrilla/proxy/web_ui/packages.py @@ -179,6 +179,11 @@ def alter_package_version(mapping_version_id: str) -> werkzeug.Response: return flask.redirect(flask.url_for('.packages')) else: raise ValueError() + except st.FileInstallationError: + return show_package_version( + mapping_version_id, + {'file_installation_error': True} + ) except st.ImpossibleSituation: return show_package_version( mapping_version_id, diff --git a/src/hydrilla/proxy/web_ui/repos.py b/src/hydrilla/proxy/web_ui/repos.py index 5aa5a21..c31a0a4 100644 --- a/src/hydrilla/proxy/web_ui/repos.py +++ b/src/hydrilla/proxy/web_ui/repos.py @@ -130,9 +130,7 @@ def alter_repo(repo_id: str) -> werkzeug.Response: except st.RepoCommunicationError: return show_repo(repo_id, {'repo_communication_error': True}) except st.FileInstallationError: - # We'll add the ability to present more meaningful errors later. For now - # let's treat file errors the same as repo communication errors. - return show_repo(repo_id, {'repo_communication_error': True}) + return show_repo(repo_id, {'file_installation_error': True}) except st.RepoApiVersionUnsupported: return show_repo(repo_id, {'repo_api_version_unsupported': True}) except st.MissingItemError: diff --git a/src/hydrilla/proxy/web_ui/templates/packages/show_single_version.html.jinja b/src/hydrilla/proxy/web_ui/templates/packages/show_single_version.html.jinja index aa01272..4d4f1d5 100644 --- a/src/hydrilla/proxy/web_ui/templates/packages/show_single_version.html.jinja +++ b/src/hydrilla/proxy/web_ui/templates/packages/show_single_version.html.jinja @@ -22,6 +22,11 @@ in a proprietary work, I am not going to enforce this in court. {% extends "packages/show_single.html.jinja" %} {% block title %} {{ _('web_ui.packages.single_version.title') }} {% endblock %} {% block main_info %} + {% if file_installation_error is defined %} + <aside class="error-note"> + {{ _('web_ui.err.file_installation_error') }} + </aside> + {% endif %} {% if uninstall_disallowed is defined %} <aside class="error-note"> {{ _('web_ui.err.uninstall_disallowed') }} diff --git a/src/hydrilla/proxy/web_ui/templates/repos/show_single.html.jinja b/src/hydrilla/proxy/web_ui/templates/repos/show_single.html.jinja index b032765..baecfea 100644 --- a/src/hydrilla/proxy/web_ui/templates/repos/show_single.html.jinja +++ b/src/hydrilla/proxy/web_ui/templates/repos/show_single.html.jinja @@ -27,6 +27,11 @@ in a proprietary work, I am not going to enforce this in court. {% include 'include/checkbox_tricks_style.css.jinja' %} {% endblock %} {% block main %} + {% if file_installation_error is defined %} + <aside class="error-note"> + {{ _('web_ui.err.file_installation_error') }} + </aside> + {% endif %} {% if repo_communication_error is defined %} <aside class="error-note"> {{ _('web_ui.err.repo_communication_error') }} |