diff options
author | 2011-11-09 00:29:48 +0100 | |
---|---|---|
committer | 2011-11-09 00:29:48 +0100 | |
commit | c614dde5e58bfef10636a322e6e2665eb39ef52a (patch) | |
tree | fa04f0e9d83783b7d853fc25f2ad2b23dd85088c /github3/core.py | |
parent | Added User/AuthUser handler (diff) | |
download | python-github3-c614dde5e58bfef10636a322e6e2665eb39ef52a.tar.xz python-github3-c614dde5e58bfef10636a322e6e2665eb39ef52a.zip |
Added support for extra args to get_resources
Paginate coupled? :S
Diffstat (limited to 'github3/core.py')
-rw-r--r-- | github3/core.py | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/github3/core.py b/github3/core.py index 5c7343a..d7237af 100644 --- a/github3/core.py +++ b/github3/core.py @@ -8,11 +8,13 @@ class Paginate: :param resource: URL resource :param requester: Bound method to request. See `GithubCore.get` + :param kwargs: Args to request (params) """ - def __init__(self, resource, requester): + def __init__(self, resource, requester, **kwargs): self.resource = resource self.requester = requester + self.kwargs = kwargs self.page = 1 def _last_page(self, link): @@ -27,12 +29,14 @@ class Paginate: return self.last + # TODO: reset iterators... multiple? def __iter__(self): return self def initial(self): """ First request. Force requester to paginate returning link header """ - link, content = self.requester(self.resource, paginate=True, page=1) + link, content = self.requester(self.resource, paginate=True, + page=1, **self.kwargs) self.last = self._last_page(link) if link else 1 return content @@ -45,7 +49,8 @@ class Paginate: if self.page > self.last: raise StopIteration else: - content = self.requester(self.resource, page=self.page) + content = self.requester(self.resource, page=self.page, + **self.kwargs) self.page += 1 return content |