From a0d6b752a388e934fdeadb16daf4c0877f99c7c1 Mon Sep 17 00:00:00 2001 From: RFNexus Date: Sun, 20 Apr 2025 23:17:24 -0400 Subject: [PATCH] Fixes for RNodeMultiInterface --- nomadnet/ui/textui/Interfaces.py | 12 ++++-------- .../vendor/additional_urwid_widgets/FormWidgets.py | 3 +-- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/nomadnet/ui/textui/Interfaces.py b/nomadnet/ui/textui/Interfaces.py index b87698c..0a4cc8b 100644 --- a/nomadnet/ui/textui/Interfaces.py +++ b/nomadnet/ui/textui/Interfaces.py @@ -1686,7 +1686,7 @@ class AddInterfaceView(urwid.WidgetWrap): self.ifac_options_button = urwid.AttrMap(self.ifac_options_button, "button_normal", focus_map="button_focus") self.ifac_options_widget = urwid.Pile([]) - if self.iface_type in ["RNodeInterface", "RNodeMultiInterface"]: + if self.iface_type in ["RNodeInterface"]: self.calculator_button = urwid.Button("Show On-Air Calculations", on_press=self.toggle_calculator) self.calculator_button = urwid.AttrMap(self.calculator_button, "button_normal", focus_map="button_focus") @@ -1703,7 +1703,7 @@ class AddInterfaceView(urwid.WidgetWrap): self.more_options_button, self.more_options_widget, ]) - if self.iface_type in ["RNodeInterface", "RNodeMultiInterface"]: + if self.iface_type in ["RNodeInterface"]: self.rnode_calculator = RNodeCalculator(self) self.calculator_visible = False self.calculator_widget = urwid.Pile([]) @@ -2139,7 +2139,7 @@ class EditInterfaceView(AddInterfaceView): } for field_key, field in self.fields.items(): - if field_key not in ["name", "custom_parameters", "type"]: + if field_key not in ["name", "custom_parameters", "type", "subinterfaces"]: widget = field["widget"] value = widget.get_value() if value is not None and value != "": @@ -2153,12 +2153,8 @@ class EditInterfaceView(AddInterfaceView): elif self.iface_type == "RNodeMultiInterface" and "subinterfaces" in self.fields: subinterfaces = self.fields["subinterfaces"]["widget"].get_value() - for subname, subconfig in subinterfaces.items(): - if any(k.startswith('[[[') for k in self.interface_config.keys()): - updated_config[f"[[[{subname}]]]"] = subconfig - else: - updated_config[subname] = subconfig + updated_config[subname] = subconfig for field_key, field in self.additional_fields.items(): widget = field["widget"] diff --git a/nomadnet/vendor/additional_urwid_widgets/FormWidgets.py b/nomadnet/vendor/additional_urwid_widgets/FormWidgets.py index f3e95b7..55f9a03 100644 --- a/nomadnet/vendor/additional_urwid_widgets/FormWidgets.py +++ b/nomadnet/vendor/additional_urwid_widgets/FormWidgets.py @@ -386,8 +386,7 @@ class FormMultiTable(urwid.Pile, FormField): try: value = transform(value) except (ValueError, TypeError): - pass - value = "" + value = "" if value: subinterface[field_key] = value