From 486473684b6209d27e03cd1a3fd4e9aa684f2940 Mon Sep 17 00:00:00 2001 From: Tom Kane Date: Mon, 18 May 2026 09:40:26 +0000 Subject: [PATCH] Extract symbols where present and pass the file to the svg in the JsonMap for daedalus --- src/techui_builder/builder.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/techui_builder/builder.py b/src/techui_builder/builder.py index fdfbdac..5119c71 100644 --- a/src/techui_builder/builder.py +++ b/src/techui_builder/builder.py @@ -27,6 +27,7 @@ class JsonMap: duplicate: bool = False children: list["JsonMap"] = field(default_factory=list) macros: dict[str, str] = field(default_factory=dict) + symbol: str = "" error: str = "" @@ -304,6 +305,7 @@ def _generate_json_map( for widget_elem in widgets: # Obtain macros associated with file_elem macro_dict: dict[str, str] = {} + symbol_path: str = "" widget_type = widget_elem.get("type", default=None) match widget_type: @@ -317,6 +319,12 @@ def _generate_json_map( name_elem = widget_elem.name.text macro_dict = self._get_macros(open_display) + if widget_type == "symbol": + try: + symbol_path = str(widget_elem.symbols.symbol) + except AttributeError: + pass + case "embedded": file_elem = self._extract_action_button_file_from_embedded( widget_elem.file, dest_path @@ -363,6 +371,7 @@ def _generate_json_map( ) child_node.macros = macro_dict + child_node.symbol = symbol_path # TODO: make this work for only list[JsonMap] assert isinstance(current_node.children, list) # TODO: fix typing