feat: BlockingActions._get_listをget_all_listに分けた

pull/109/head
yupix 7 months ago
parent 62d40376f8
commit 8dfc32b1c5
No known key found for this signature in database
GPG Key ID: 2FF705F5C56D9C06

@ -66,20 +66,25 @@ class BlockingActions(SharedBlockingActions):
since_id: str | None = None,
until_id: str | None = None,
limit: int = 100,
get_all: bool = False,
) -> AsyncGenerator[Blocking, None]:
if get_all:
limit = 100
data = {"limit": limit, "sinceId": since_id, "untilId": until_id}
) -> list[Blocking]:
body = {"limit": limit, "sinceId": since_id, "untilId": until_id}
raw_blocking_list = await self._session.request(
Route("POST", "/api/blocking/list"), json=body, auth=True
)
return [
Blocking(raw_blocking=blocking, client=self._client) for blocking in raw_blocking_list
]
async def get_all_list(
self, limit: int = 30, since_id: str | None = None, until_id: str | None = None
) -> AsyncGenerator[Blocking, None]:
pagination = Pagination[IBlocking](
self._session, Route("POST", "/api/blocking/list"), json=data
self._session,
Route("POST", "/api/blocking/list"),
json={"limit": limit, "sinceId": since_id, "untilId": until_id},
)
while True:
raw_blockings = await pagination.next()
for raw_blocking in raw_blockings:
while pagination.is_final is False:
raw_blocking = await pagination.next()
for raw_blocking in raw_blocking:
yield Blocking(raw_blocking=raw_blocking, client=self._client)
if get_all is False or pagination.is_final:
break

Loading…
Cancel
Save