aboutsummaryrefslogtreecommitdiff
path: root/src/hydrilla/proxy/web_ui/rules.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/hydrilla/proxy/web_ui/rules.py')
-rw-r--r--src/hydrilla/proxy/web_ui/rules.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/hydrilla/proxy/web_ui/rules.py b/src/hydrilla/proxy/web_ui/rules.py
index 56753a3..606d33f 100644
--- a/src/hydrilla/proxy/web_ui/rules.py
+++ b/src/hydrilla/proxy/web_ui/rules.py
@@ -107,3 +107,16 @@ def alter_rule(rule_id: str) -> werkzeug.Response:
flask.abort(404)
return flask.redirect(flask.url_for('.show_rule', rule_id=rule_id))
+
+@bp.route('/rules/viewbypattern')
+def show_pattern_rule() -> werkzeug.Response:
+ pattern = flask.request.args['pattern']
+
+ try:
+ store = _app.get_haketilo_state().rule_store()
+ rule_ref = store.get_by_pattern(pattern)
+ except st.MissingItemError:
+ html = flask.render_template('rules/add.html.jinja', pattern=pattern)
+ return flask.make_response(html, 200)
+
+ return flask.redirect(flask.url_for('.show_rule', rule_id=rule_ref.id))