From 414a621091b5b82f865cb2d313b98e2e484081bf Mon Sep 17 00:00:00 2001 From: pdxlocations Date: Sun, 1 Mar 2026 08:44:37 -0800 Subject: [PATCH] add fallback for older protobuf dependency --- meshtastic/__main__.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/meshtastic/__main__.py b/meshtastic/__main__.py index f21f3e4..827d77b 100644 --- a/meshtastic/__main__.py +++ b/meshtastic/__main__.py @@ -158,11 +158,12 @@ def getPref(node, comp_name) -> bool: config_values = getattr(config, config_type.name) if not wholeField: pref_value = getattr(config_values, pref.name) - repeated = pref.is_repeated + repeated = getattr(pref, "is_repeated", pref.label == pref.LABEL_REPEATED) _printSetting(config_type, uni_name, pref_value, repeated) else: for field in config_values.ListFields(): - repeated = field[0].is_repeated + fd = field[0] + repeated = getattr(fd, "is_repeated", fd.label == fd.LABEL_REPEATED) _printSetting(config_type, field[0].name, field[1], repeated) else: # Always show whole field for remote node @@ -253,7 +254,7 @@ def setPref(config, comp_name, raw_val) -> bool: return False # repeating fields need to be handled with append, not setattr - if not pref.is_repeated: + if not getattr(pref, "is_repeated", pref.label == pref.LABEL_REPEATED): try: if config_type.message_type is not None: config_values = getattr(config_part, config_type.name)