diff --git a/openflexure_microscope/api/utilities/gui.py b/openflexure_microscope/api/utilities/gui.py index 19d83bd8..1a6a11ef 100644 --- a/openflexure_microscope/api/utilities/gui.py +++ b/openflexure_microscope/api/utilities/gui.py @@ -7,10 +7,18 @@ def build_gui_from_dict(gui_description, extension_object): # Make a working copy of GUI description api_gui = copy.deepcopy(gui_description) + logging.debug(extension_object._rules) + # Expand shorthand routes into full relative URLs if "forms" in gui_description and isinstance(api_gui["forms"], list): for form in api_gui["forms"]: + # Clean leading slashes from rule + if "route" in form: + while form["route"][0] == "/": + form["route"] = form["route"][1:] + # Match rule in extension object if "route" in form and form["route"] in extension_object._rules.keys(): + logging.debug(f"Expanding {form}") form["route"] = extension_object._rules[form["route"]]["rule"] else: logging.warn(