From 5c27ae5a45b5e29db74af8581c42ad62b8b7fdf2 Mon Sep 17 00:00:00 2001 From: Joel Collins Date: Wed, 4 Mar 2020 10:42:29 +0000 Subject: [PATCH] Fixed extension rule matching --- openflexure_microscope/api/utilities/gui.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/openflexure_microscope/api/utilities/gui.py b/openflexure_microscope/api/utilities/gui.py index c0121594..e2187ba5 100644 --- a/openflexure_microscope/api/utilities/gui.py +++ b/openflexure_microscope/api/utilities/gui.py @@ -3,6 +3,12 @@ import logging from functools import wraps +def clean_rule(rule: str): + while rule[0] == "/": + rule = rule[1:] + return f"/{rule}" + + def build_gui_from_dict(gui_description, extension_object): # Make a working copy of GUI description api_gui = copy.deepcopy(gui_description) @@ -12,8 +18,7 @@ def build_gui_from_dict(gui_description, extension_object): for form in api_gui["forms"]: # Clean leading slashes from rule if "route" in form: - while form["route"][0] == "/": - form["route"] = form["route"][1:] + form["route"] = clean_rule(form["route"]) # Match rule in extension object if "route" in form and form["route"] in extension_object._rules.keys(): form["route"] = extension_object._rules[form["route"]]["rule"]