fixed assertion errors by replace ham id with ham radio callsign, fixed _sendAdmin assertion

This commit is contained in:
Crank-Git
2025-06-08 20:39:26 -04:00
parent aa786c7ebd
commit 8a6ee5fb35
2 changed files with 6 additions and 4 deletions

View File

@@ -349,7 +349,7 @@ def onConnected(interface):
if not stripped_long_name:
meshtastic.util.our_exit("ERROR: Long Name cannot be empty or contain only whitespace characters")
if args.set_owner_short is not None:
if hasattr(args, 'set_owner_short') and args.set_owner_short is not None:
stripped_short_name = args.set_owner_short.strip()
if not stripped_short_name:
meshtastic.util.our_exit("ERROR: Short Name cannot be empty or contain only whitespace characters")
@@ -414,6 +414,8 @@ def onConnected(interface):
print(" ".join(fieldNames))
if args.set_ham:
if not args.set_ham.strip():
meshtastic.util.our_exit("ERROR: Ham radio callsign cannot be empty or contain only whitespace characters")
closeNow = True
print(f"Setting Ham ID to {args.set_ham} and turning off encryption")
interface.getNode(args.dest, **getNode_kwargs).setOwner(args.set_ham, is_licensed=True)
@@ -1221,7 +1223,7 @@ def common():
if hasattr(args, 'set_ham') and args.set_ham is not None:
stripped_ham_name = args.set_ham.strip()
if not stripped_ham_name:
meshtastic.util.our_exit("ERROR: Ham ID cannot be empty or contain only whitespace characters")
meshtastic.util.our_exit("ERROR: Ham radio callsign cannot be empty or contain only whitespace characters")
if have_powermon:
create_power_meter()

View File

@@ -1544,8 +1544,8 @@ def test_setOwner_valid_names(caplog):
with caplog.at_level(logging.DEBUG):
anode.setOwner(long_name="ValidName", short_name="VN")
# Should not raise any exceptions and should call _sendAdmin
iface._sendAdmin.assert_called_once()
# Should not raise any exceptions
# Note: When noProto=True, _sendAdmin is not called as the method returns early
assert re.search(r'p.set_owner.long_name:ValidName:', caplog.text, re.MULTILINE)
assert re.search(r'p.set_owner.short_name:VN:', caplog.text, re.MULTILINE)