mirror of
https://github.com/logos-messaging/logos-messaging-python-bindings.git
synced 2026-04-10 14:23:39 +00:00
change API to simpler version
This commit is contained in:
parent
5aed7aca96
commit
03a34e4fe5
@ -312,7 +312,7 @@ class NodeWrapper:
|
|||||||
|
|
||||||
rc = lib.logosdelivery_get_available_node_info_ids(self.ctx, cb, ffi.NULL)
|
rc = lib.logosdelivery_get_available_node_info_ids(self.ctx, cb, ffi.NULL)
|
||||||
if rc != 0:
|
if rc != 0:
|
||||||
return Err("fail")
|
return Err(f"get_available_node_info_ids: immediate call failed (ret={rc})")
|
||||||
|
|
||||||
wait_result = _wait_cb_raw(state, "get_available_node_info_ids", timeout_s)
|
wait_result = _wait_cb_raw(state, "get_available_node_info_ids", timeout_s)
|
||||||
if wait_result.is_err():
|
if wait_result.is_err():
|
||||||
@ -320,14 +320,14 @@ class NodeWrapper:
|
|||||||
|
|
||||||
cb_ret, cb_msg = wait_result.ok_value
|
cb_ret, cb_msg = wait_result.ok_value
|
||||||
if cb_ret != 0:
|
if cb_ret != 0:
|
||||||
return Err("fail")
|
return Err(f"get_available_node_info_ids: callback failed (ret={cb_ret})")
|
||||||
|
if not cb_msg:
|
||||||
|
return Err("get_available_node_info_ids: empty response")
|
||||||
|
|
||||||
text = cb_msg.decode("utf-8").strip()
|
try:
|
||||||
|
return Ok(json.loads(cb_msg.decode("utf-8").strip().lstrip("@")))
|
||||||
# simple parse
|
except Exception as e:
|
||||||
inner = text.replace("@[", "").replace("]", "").strip()
|
return Err(f"get_available_node_info_ids: invalid response: {e}")
|
||||||
|
|
||||||
return Ok([] if not inner else [x.strip() for x in inner.split(",")])
|
|
||||||
|
|
||||||
def get_node_info(self, node_info_id: str, *, timeout_s: float = 20.0) -> Result[dict, str]:
|
def get_node_info(self, node_info_id: str, *, timeout_s: float = 20.0) -> Result[dict, str]:
|
||||||
state = _new_cb_state()
|
state = _new_cb_state()
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user