Skip to content

Commit dd692da

Browse files
committed
Add option for max_pages=None.
In that case the generator will continue until pagination stops.
1 parent 797c0b5 commit dd692da

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

instagram/bind.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ def _do_api_request(self, url, method="GET", body=None, headers=None):
162162
def _paginator_with_url(self, url, method="GET", body=None, headers=None):
163163
headers = headers or {}
164164
pages_read = 0
165-
while url and pages_read < self.max_pages:
165+
while url and (pages_read < self.max_pages or self.max_pages is None):
166166
api_responses, url = self._do_api_request(url, method, body, headers)
167167
pages_read += 1
168168
yield api_responses, url

tests.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,16 @@ def test_generator_user_feed(self):
126126
for page in generator:
127127
str(generator)
128128

129+
def test_generator_user_feed_all(self):
130+
generator = self.api.user_media_feed(as_generator=True, max_pages=None)
131+
for i in range(10):
132+
page = generator.next()
133+
str(generator)
134+
135+
generator = self.api.user_media_feed(as_generator=True, max_pages=0)
136+
for page in generator:
137+
assert False
138+
129139
def test_user_liked_media(self):
130140
self.api.user_liked_media(count=10)
131141

0 commit comments

Comments
 (0)