Refactor list_entities_services to reduce unneeded local variables (#775)
This commit is contained in:
parent
d0aaf25577
commit
22fd2ab9af
|
@ -388,27 +388,23 @@ class APIClient:
|
||||||
async def list_entities_services(
|
async def list_entities_services(
|
||||||
self,
|
self,
|
||||||
) -> tuple[list[EntityInfo], list[UserService]]:
|
) -> tuple[list[EntityInfo], list[UserService]]:
|
||||||
response_types = LIST_ENTITIES_SERVICES_RESPONSE_TYPES
|
msgs = await self._get_connection().send_messages_await_response_complex(
|
||||||
msg_types = LIST_ENTITIES_MSG_TYPES
|
(ListEntitiesRequest(),),
|
||||||
|
lambda msg: type(msg) is not ListEntitiesDoneResponse,
|
||||||
def do_append(msg: message.Message) -> bool:
|
lambda msg: type(msg) is ListEntitiesDoneResponse,
|
||||||
return type(msg) is not ListEntitiesDoneResponse
|
LIST_ENTITIES_MSG_TYPES,
|
||||||
|
60,
|
||||||
def do_stop(msg: message.Message) -> bool:
|
|
||||||
return type(msg) is ListEntitiesDoneResponse
|
|
||||||
|
|
||||||
resp = await self._get_connection().send_messages_await_response_complex(
|
|
||||||
(ListEntitiesRequest(),), do_append, do_stop, msg_types, 60
|
|
||||||
)
|
)
|
||||||
entities: list[EntityInfo] = []
|
entities: list[EntityInfo] = []
|
||||||
services: list[UserService] = []
|
services: list[UserService] = []
|
||||||
for msg in resp:
|
response_types = LIST_ENTITIES_SERVICES_RESPONSE_TYPES
|
||||||
if type(msg) is ListEntitiesServicesResponse:
|
for msg in msgs:
|
||||||
|
msg_type = type(msg)
|
||||||
|
if msg_type is ListEntitiesServicesResponse:
|
||||||
services.append(UserService.from_pb(msg))
|
services.append(UserService.from_pb(msg))
|
||||||
continue
|
continue
|
||||||
cls = response_types[type(msg)]
|
if cls := response_types[msg_type]:
|
||||||
assert cls is not None
|
entities.append(cls.from_pb(msg))
|
||||||
entities.append(cls.from_pb(msg))
|
|
||||||
return entities, services
|
return entities, services
|
||||||
|
|
||||||
async def subscribe_states(self, on_state: Callable[[EntityState], None]) -> None:
|
async def subscribe_states(self, on_state: Callable[[EntityState], None]) -> None:
|
||||||
|
|
Loading…
Reference in New Issue