Use timedelta and change attribute name back to elapsed
authorChris Lee <clee@mg8.org>
Mon, 28 Jan 2013 03:01:39 +0000 (19:01 -0800)
committerChris Lee <clee@mg8.org>
Mon, 28 Jan 2013 03:07:48 +0000 (19:07 -0800)
requests/adapters.py
requests/models.py
test_requests.py

index 55a8726..d4f5d5b 100644 (file)
@@ -9,7 +9,7 @@ and maintain connections.
 """
 
 import socket
-import time
+import datetime
 
 from .models import Response
 from .packages.urllib3.poolmanager import PoolManager, ProxyManager
@@ -156,7 +156,7 @@ class HTTPAdapter(BaseAdapter):
         url = self.request_url(request, proxies)
 
         chunked = not (request.body is None or 'Content-Length' in request.headers)
-        start = time.time()
+        start = datetime.datetime.utcnow()
 
         try:
             if not chunked:
@@ -200,7 +200,7 @@ class HTTPAdapter(BaseAdapter):
                     preload_content=False,
                     decode_content=False
                 )
-            finish = time.time()
+            finish = datetime.datetime.utcnow()
 
         except socket.error as sockerr:
             raise ConnectionError(sockerr)
@@ -217,7 +217,7 @@ class HTTPAdapter(BaseAdapter):
                 raise Timeout('Request timed out.')
 
         r = self.build_response(request, resp)
-        r.time_taken = finish - start
+        r.elapsed = finish - start
 
         if not stream:
             r.content
index b3574b2..a9e8c5b 100644 (file)
@@ -9,6 +9,7 @@ This module contains the primary objects that power Requests.
 
 import collections
 import logging
+import datetime
 
 from io import BytesIO
 from .hooks import default_hooks
@@ -471,8 +472,9 @@ class Response(object):
         #: A CookieJar of Cookies the server sent back.
         self.cookies = cookiejar_from_dict({})
 
-        #: The amount of time taken for the response to arrive (in seconds).
-        self.time_taken = 0.0
+        #: The amount of time elapsed between sending the request
+        #: and the arrival of the response (as a timedelta)
+        self.elapsed = datetime.timedelta(0)
 
     def __repr__(self):
         return '<Response [%s]>' % (self.status_code)
index d18d386..d5409aa 100644 (file)
@@ -323,9 +323,9 @@ class RequestsTestCase(unittest.TestCase):
         self.assertEqual(cookie.domain, domain)
         self.assertEqual(cookie._rest['HttpOnly'], rest['HttpOnly'])
 
-    def test_time_taken_blank(self):
+    def test_time_elapsed_blank(self):
         r = requests.get(httpbin('get'))
-        self.assertTrue(r.time_taken > 0.0)
+        self.assertTrue(r.elapsed.total_seconds() > 0.0)
 
 
 if __name__ == '__main__':