diff --git a/gitea/apiobject.py b/gitea/apiobject.py index 5df39b7..209f9fc 100644 --- a/gitea/apiobject.py +++ b/gitea/apiobject.py @@ -426,11 +426,12 @@ class Repository(ApiObject): """Get all Issues of this Repository (open and closed)""" return self.get_issues_state(Issue.OPENED) + self.get_issues_state(Issue.CLOSED) - def get_commits(self) -> List["Commit"]: + def get_commits(self, page_limit: int = 0) -> List["Commit"]: """Get all the Commits of this Repository.""" try: results = self.gitea.requests_get_paginated( - Repository.REPO_COMMITS % (self.owner.username, self.name) + Repository.REPO_COMMITS % (self.owner.username, self.name), + page_limit= page_limit ) except ConflictException as err: logging.warning(err) diff --git a/gitea/gitea.py b/gitea/gitea.py index 1eaa70e..686a862 100644 --- a/gitea/gitea.py +++ b/gitea/gitea.py @@ -90,7 +90,12 @@ class Gitea: return self.parse_result(request) def requests_get_paginated( - self, endpoint: str, params=frozendict(), sudo=None, page_key: str = "page" + self, + endpoint: str, + params=frozendict(), + sudo=None, + page_key: str = "page", + page_limit: int = 0, ): page = 1 combined_params = {} @@ -103,6 +108,8 @@ class Gitea: return aggregated_result aggregated_result.extend(result) page += 1 + if page_limit and page > page_limit: + return aggregated_result def requests_put(self, endpoint: str, data: dict = None): if not data: