Skip to content

Commit d1e70eb

Browse files
authored
Merge pull request #126 from spyoungtech/master
imap behavior more consistent with map behavior
2 parents bdf7387 + 7dd9123 commit d1e70eb

File tree

3 files changed

+6
-14
lines changed

3 files changed

+6
-14
lines changed

AUTHORS.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,4 @@ Development Lead
99
Patches and Suggestions
1010
```````````````````````
1111
- Kracekumar <me@kracekumar.com>
12+
- Spencer Young <spencer.young@spyoung.com>

grequests.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,8 @@ def send(r):
148148
if request.response is not None:
149149
yield request.response
150150
elif exception_handler:
151-
exception_handler(request, request.exception)
151+
ex_result = exception_handler(request, request.exception)
152+
if ex_result is not None:
153+
yield ex_result
152154

153155
pool.join()

tests.py

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -179,29 +179,18 @@ def exception_handler(request, exception):
179179
out.append(r)
180180
self.assertEquals(out, [])
181181

182-
def test_imap_timeout_exception_handler_returns_false(self):
183-
"""
184-
ensure map-compatible behaviour for a handler that returns False
185-
"""
186-
def exception_handler(request, exception):
187-
return False
188-
reqs = [grequests.get(httpbin('delay/1'), timeout=0.001)]
189-
out = []
190-
for r in grequests.imap(reqs, exception_handler=exception_handler):
191-
out.append(r)
192-
self.assertEquals(out, [])
193182

194183
def test_imap_timeout_exception_handler_returns_value(self):
195184
"""
196185
ensure behaviour for a handler that returns a value
197186
"""
198187
def exception_handler(request, exception):
199-
return request
188+
return 'a value'
200189
reqs = [grequests.get(httpbin('delay/1'), timeout=0.001)]
201190
out = []
202191
for r in grequests.imap(reqs, exception_handler=exception_handler):
203192
out.append(r)
204-
self.assertEquals(out, [])
193+
self.assertEquals(out, ['a value'])
205194

206195
def test_map_timeout_exception(self):
207196
class ExceptionHandler:

0 commit comments

Comments
 (0)