Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions github2/commits.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ def __repr__(self):
class Commits(GithubCommand):
domain = "commits"

def list(self, project, branch="master", file=None):
def list(self, project, branch="master", file=None, page=None):
"""List commits on a project

.. warning::
Expand All @@ -38,9 +38,10 @@ def list(self, project, branch="master", file=None):
:param str project: project name
:param str branch: branch name, or ``master`` if not given
:param str file: optional file filter
:param int page: optional page number (page length=100, raise 404 if too high)
"""
return self.get_values("list", project, branch, file,
filter="commits", datatype=Commit)
filter="commits", datatype=Commit, page=page)

def show(self, project, sha):
"""Get a specific commit
Expand Down
5 changes: 5 additions & 0 deletions github2/core.py
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,11 @@ def get_value(self, *args, **kwargs):

def get_values(self, *args, **kwargs):
datatype = kwargs.pop("datatype", None)
page = kwargs.pop("page", None)
if page:
if "post_data" not in kwargs:
kwargs["post_data"] = {}
kwargs["post_data"].update({"page": page})
values = self.make_request(*args, **kwargs)
if datatype:
# Same as above, unicode keys will blow up in **args, so we need to
Expand Down
5 changes: 3 additions & 2 deletions github2/pull_requests.py
Original file line number Diff line number Diff line change
Expand Up @@ -84,11 +84,12 @@ def show(self, project, number):
return self.get_value(project, str(number), filter="pull",
datatype=PullRequest)

def list(self, project, state="open"):
def list(self, project, state="open", page=None):
"""List all pull requests for a project

:param str project: Github project
:param str state: can be either ``open`` or ``closed``
:param int page: optional page number (page length=100, empty result list if too high
"""
return self.get_values(project, state, filter="pulls",
datatype=PullRequest)
datatype=PullRequest, page=page)
13 changes: 9 additions & 4 deletions github2/repositories.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,9 @@ class Repositories(GithubCommand):
def search(self, query):
"""Get all repositories that match term.

.. warning:
Return at max 100 repositories

:param str query: term to search issues for
"""
return self.get_values("search", query, filter="repositories",
Expand All @@ -62,7 +65,7 @@ def pushable(self):
datatype=Repository)


def list(self, user=None):
def list(self, user=None, page=None):
"""Return a list of all repositories for a user.

.. deprecated: 0.4.0
Expand All @@ -71,10 +74,11 @@ def list(self, user=None):
brittle and will be removed in a future release!

:param str user: Github user name to list repositories for
:param int page: optional page number (page length=100, empty result list if too high
"""
user = user or self.request.username
return self.get_values("show", user, filter="repositories",
datatype=Repository)
datatype=Repository, page=page)

@requires_auth
def watch(self, project):
Expand Down Expand Up @@ -208,14 +212,15 @@ def watchers(self, project):
"""
return self.get_values("show", project, "watchers", filter="watchers")

def watching(self, for_user=None):
def watching(self, for_user=None, page=None):
"""Lists all the repos a user is watching

:param str for_user: optional Github user name to list repositories for
:param int page: optional page number (page length=100, empty result list if too high
"""
for_user = for_user or self.request.username
return self.get_values("watched", for_user, filter="repositories",
datatype=Repository)
datatype=Repository, page=page)

def list_contributors(self, project):
"""Lists all the contributors in a project
Expand Down
3 changes: 3 additions & 0 deletions github2/users.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,9 @@ class Users(GithubCommand):
def search(self, query):
"""Search for users

.. warning:
Return at max 100 users

:param str query: term to search for
"""
return self.get_values("search", urllib.quote_plus(query),
Expand Down