fix: ключи строковые, значения bytes в binary_resource

This commit is contained in:
2026-05-17 15:56:22 +07:00
parent bcf98cf043
commit 7f470ada63
+5 -7
View File
@@ -85,17 +85,15 @@ def fetch_address_list(api) -> list[str]:
resource = api.get_binary_resource("/ip/firewall/address-list")
all_entries = resource.get()
log.info("DEBUG address-list raw: %s", all_entries)
ip_list = []
for entry in all_entries:
entry_list = decode(entry.get(b"list", b""))
log.info("DEBUG entry list='%s' address='%s'", entry_list, decode(entry.get(b"address", b"")))
# Ключи строковые, значения — bytes
entry_list = decode(entry.get("list", b""))
if entry_list != ADDRESS_LIST_NAME:
continue
if decode(entry.get(b"disabled", b"false")) == "true":
if decode(entry.get("disabled", b"false")) == "true":
continue
address = decode(entry.get(b"address", b"")).strip()
address = decode(entry.get("address", b"")).strip()
if "/" in address:
address = address.split("/")[0]
if address:
@@ -174,7 +172,7 @@ def fetch_identity(api) -> str:
resource = api.get_binary_resource("/system/identity")
result = resource.get()
if result:
return decode(result[0].get(b"name", MIKROTIK_HOST.encode()))
return decode(result[0].get("name", MIKROTIK_HOST.encode()))
return MIKROTIK_HOST
except Exception:
return MIKROTIK_HOST