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)