aboutsummaryrefslogtreecommitdiff
path: root/src/hydrilla/proxy/web_ui
diff options
context:
space:
mode:
authorWojtek Kosior <koszko@koszko.org>2022-08-25 12:43:29 +0200
committerWojtek Kosior <koszko@koszko.org>2022-09-28 12:54:53 +0200
commit503e546b2b0c9dba505a4e7940f257d41ad95f67 (patch)
treec17f245f8a826d4d385923557681ad372fb58b03 /src/hydrilla/proxy/web_ui
parent4dbbb2aec204a5cccc713e2e2098d6e0a47f8cf6 (diff)
downloadhaketilo-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')
-rw-r--r--src/hydrilla/proxy/web_ui/packages.py5
-rw-r--r--src/hydrilla/proxy/web_ui/repos.py4
-rw-r--r--src/hydrilla/proxy/web_ui/templates/packages/show_single_version.html.jinja5
-rw-r--r--src/hydrilla/proxy/web_ui/templates/repos/show_single.html.jinja5
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') }}