Skip to content

Commit c614dde

Browse files
committed
Added support for extra args to get_resources
Paginate coupled? :S
1 parent 6dc5997 commit c614dde

2 files changed

Lines changed: 9 additions & 4 deletions

File tree

github3/core.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,13 @@ class Paginate:
88
99
:param resource: URL resource
1010
:param requester: Bound method to request. See `GithubCore.get`
11+
:param kwargs: Args to request (params)
1112
"""
1213

13-
def __init__(self, resource, requester):
14+
def __init__(self, resource, requester, **kwargs):
1415
self.resource = resource
1516
self.requester = requester
17+
self.kwargs = kwargs
1618
self.page = 1
1719

1820
def _last_page(self, link):
@@ -27,12 +29,14 @@ def _last_page(self, link):
2729

2830
return self.last
2931

32+
# TODO: reset iterators... multiple?
3033
def __iter__(self):
3134
return self
3235

3336
def initial(self):
3437
""" First request. Force requester to paginate returning link header """
35-
link, content = self.requester(self.resource, paginate=True, page=1)
38+
link, content = self.requester(self.resource, paginate=True,
39+
page=1, **self.kwargs)
3640
self.last = self._last_page(link) if link else 1
3741
return content
3842

@@ -45,7 +49,8 @@ def next(self):
4549
if self.page > self.last:
4650
raise StopIteration
4751
else:
48-
content = self.requester(self.resource, page=self.page)
52+
content = self.requester(self.resource, page=self.page,
53+
**self.kwargs)
4954
self.page += 1
5055
return content
5156

github3/handlers/base.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ def _get_resources(self, resource, model=None, limit=None, **kwargs):
4242
""" Hander request to multiple resources """
4343

4444
resource = self._prefix_resource(resource)
45-
page_resources = Paginate(resource, self._gh.get)
45+
page_resources = Paginate(resource, self._gh.get, kwargs)
4646
counter = 1
4747
for page in page_resources:
4848
for raw_resource in page:

0 commit comments

Comments
 (0)