diff --git a/mipac/actions/drive.py b/mipac/actions/drive.py index 51ba9f0..9303a4a 100644 --- a/mipac/actions/drive.py +++ b/mipac/actions/drive.py @@ -338,7 +338,7 @@ class DriveActions(AbstractAction): since_id: str | None = None, until_id: str | None = None, folder_id: str | None = None, - get_all: bool=False + get_all: bool = False, ) -> AsyncGenerator[Folder, None]: """ フォルダーの一覧を取得します @@ -368,12 +368,14 @@ class DriveActions(AbstractAction): 'untilId': until_id, 'folderId': folder_id, } - - pagination = Pagination[FolderPayload](self._session, Route('POST', '/api/drive/folders'), json=body) - + + pagination = Pagination[FolderPayload]( + self._session, Route('POST', '/api/drive/folders'), json=body + ) + while True: res_folders = await pagination.next() for res_folder in res_folders: - yield Folder(res_folder,client=self._client) + yield Folder(res_folder, client=self._client) if get_all is False or pagination.is_final: break diff --git a/mipac/actions/federation.py b/mipac/actions/federation.py index 95f0a6b..ae53c6e 100644 --- a/mipac/actions/federation.py +++ b/mipac/actions/federation.py @@ -151,27 +151,33 @@ class FederationActions(AbstractAction): ) async def get_users( - self, host: str, since_id: str | None = None, until_id: str | None = None, limit: int = 10, get_all: bool = False + self, + host: str, + since_id: str | None = None, + until_id: str | None = None, + limit: int = 10, + get_all: bool = False, ) -> AsyncGenerator[UserDetailed, None]: if limit > 100: raise ParameterError('limitは100以下である必要があります') - + if get_all: limit = 100 - + body = {'host': host, 'sinceId': since_id, 'untilId': until_id, 'limit': limit} - pagination = Pagination[IUserDetailed](self.__session, Route('POST', '/api/federation/users'), json=body) - + pagination = Pagination[IUserDetailed]( + self.__session, Route('POST', '/api/federation/users'), json=body + ) + while True: res_users: list[IUserDetailed] = await pagination.next() for user in res_users: yield UserDetailed(user, client=self.__client) - + if get_all is False or pagination.is_final: break - async def get_stats(self, limit: int = 10) -> IFederationInstanceStat: if limit > 100: raise ParameterError('limitは100以下である必要があります') diff --git a/mipac/actions/mute.py b/mipac/actions/mute.py index b047b2b..11cd86c 100644 --- a/mipac/actions/mute.py +++ b/mipac/actions/mute.py @@ -90,4 +90,3 @@ class MuteActions(AbstractAction): if get_all is False or pagination.is_final: break -