diff options
author | Wojtek Kosior <koszko@koszko.org> | 2022-08-23 14:28:38 +0200 |
---|---|---|
committer | Wojtek Kosior <koszko@koszko.org> | 2022-09-09 13:55:05 +0200 |
commit | 7fcb306c6a3d3771020a85d730786aa5bfb03f90 (patch) | |
tree | 5807e9c4d72c2ad3c4f52436700e628c19b0b66b /src/hydrilla/proxy/web_ui/repos.py | |
parent | 9326f832fe3bb5b77358170bd060dad1af98810d (diff) | |
download | haketilo-hydrilla-7fcb306c6a3d3771020a85d730786aa5bfb03f90.tar.gz haketilo-hydrilla-7fcb306c6a3d3771020a85d730786aa5bfb03f90.zip |
inform the web UI user about errors in communication with repository
Diffstat (limited to 'src/hydrilla/proxy/web_ui/repos.py')
-rw-r--r-- | src/hydrilla/proxy/web_ui/repos.py | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/hydrilla/proxy/web_ui/repos.py b/src/hydrilla/proxy/web_ui/repos.py index 8c69028..ae4741f 100644 --- a/src/hydrilla/proxy/web_ui/repos.py +++ b/src/hydrilla/proxy/web_ui/repos.py @@ -98,17 +98,17 @@ def show_repo(repo_id: str, errors: t.Mapping[str, bool] = {}) \ @bp.route('/repos/view/<string:repo_id>', methods=['POST']) def alter_repo(repo_id: str) -> werkzeug.Response: + form_data = flask.request.form + action = form_data['action'] + repo_id = str(int(repo_id)) if repo_id == '1': # Protect local semi-repo. flask.abort(403) - repo_ref = _app.get_haketilo_state().repo_store().get(repo_id) - - form_data = flask.request.form - action = form_data['action'] - try: + repo_ref = _app.get_haketilo_state().repo_store().get(repo_id) + if action == 'remove_repo': repo_ref.remove() return flask.redirect(flask.url_for('.repos')) @@ -127,6 +127,10 @@ def alter_repo(repo_id: str) -> werkzeug.Response: return show_repo(repo_id, {'repo_name_taken': True}) except st.RepoUrlInvalid: return show_repo(repo_id, {'repo_url_invalid': True}) + except st.RepoCommunicationError: + return show_repo(repo_id, {'repo_communication_error': True}) + except st.RepoApiVersionUnsupported: + return show_repo(repo_id, {'repo_api_version_unsupported': True}) except st.MissingItemError: flask.abort(404) |