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