From 2ac391373329b2d8c67d34fd7c056ff9db16a5f9 Mon Sep 17 00:00:00 2001 From: Cory Benfield Date: Sat, 26 Jan 2013 15:19:01 +0000 Subject: [PATCH 1/3] Make Response objects iterable. --- requests/models.py | 4 ++++ test_requests.py | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/requests/models.py b/requests/models.py index 41eea5a6..4570ad64 100644 --- a/requests/models.py +++ b/requests/models.py @@ -486,6 +486,10 @@ class Response(object): """Returns true if :attr:`status_code` is 'OK'.""" return self.ok + def __iter__(self): + """Returns the current object.""" + return self.iter_content(128) + @property def ok(self): try: diff --git a/test_requests.py b/test_requests.py index 54c732db..b9cfde0d 100644 --- a/test_requests.py +++ b/test_requests.py @@ -325,6 +325,12 @@ class RequestsTestCase(unittest.TestCase): r = requests.get(httpbin('get')) self.assertTrue(r.elapsed.total_seconds() > 0.0) + def test_response_is_iterable(self): + r = requests.Response() + io = StringIO.StringIO('abc') + r.raw = io + self.assertTrue(iter(r).next()) + io.close() if __name__ == '__main__': unittest.main() From 2f7923bc0564ed6c8bb30b4d547cbacccbecaebb Mon Sep 17 00:00:00 2001 From: Cory Benfield Date: Sat, 26 Jan 2013 15:24:25 +0000 Subject: [PATCH 2/3] More useful docstring. --- requests/models.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requests/models.py b/requests/models.py index 4570ad64..9198c4c3 100644 --- a/requests/models.py +++ b/requests/models.py @@ -487,7 +487,7 @@ class Response(object): return self.ok def __iter__(self): - """Returns the current object.""" + """Allows you to use a response as an iterator.""" return self.iter_content(128) @property From 95084c9ca8b3c33d6f16bf63f9c041aa6e442641 Mon Sep 17 00:00:00 2001 From: Cory Benfield Date: Sat, 26 Jan 2013 15:54:06 +0000 Subject: [PATCH 3/3] Fix test for Py3. --- test_requests.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test_requests.py b/test_requests.py index b9cfde0d..c4b94b2c 100644 --- a/test_requests.py +++ b/test_requests.py @@ -329,7 +329,7 @@ class RequestsTestCase(unittest.TestCase): r = requests.Response() io = StringIO.StringIO('abc') r.raw = io - self.assertTrue(iter(r).next()) + self.assertTrue(next(iter(r))) io.close() if __name__ == '__main__':