Package: python-docker Version: 0.5.3-1 Severity: grave Justification: renders package unusable
I'm finding it impossible to do anything with the API. The ipython backtrace is pasted below. My python fu is relatively limited, but the problem looks like for some reason the requests module is changing the timeout from a number to a Timeout object, and urllib barfs. I couldn't reproduce the issue using plain requests (ie, creating a session, adding the HttpAdapter and sending a request), so I'm filing the bug here. If the bug is elsewhere, please reassign as appropriate. In [1]: from docker import Client In [2]: c = Client() In [3]: c.version() --------------------------------------------------------------------------- ValueError Traceback (most recent call last) <ipython-input-3-33a9b5269bcf> in <module>() ----> 1 c.version() /usr/lib/python2.7/dist-packages/docker/client.pyc in version(self) 932 933 def version(self): --> 934 return self._result(self._get(self._url("/version")), True) 935 936 def wait(self, container): /usr/lib/python2.7/dist-packages/docker/client.pyc in _get(self, url, **kwargs) 74 75 def _get(self, url, **kwargs): ---> 76 return self.get(url, **self._set_request_timeout(kwargs)) 77 78 def _delete(self, url, **kwargs): /usr/lib/python2.7/dist-packages/requests/sessions.pyc in get(self, url, **kwargs) 467 468 kwargs.setdefault('allow_redirects', True) --> 469 return self.request('GET', url, **kwargs) 470 471 def options(self, url, **kwargs): /usr/lib/python2.7/dist-packages/requests/sessions.pyc in request(self, method, url, params, data, headers, cookies, files, auth, timeout, allow_redirects, proxies, hooks, stream, verify, cert, json) 455 } 456 send_kwargs.update(settings) --> 457 resp = self.send(prep, **send_kwargs) 458 459 return resp /usr/lib/python2.7/dist-packages/requests/sessions.pyc in send(self, request, **kwargs) 567 568 # Send the request --> 569 r = adapter.send(request, **kwargs) 570 571 # Total elapsed time of the request (approximately) /usr/lib/python2.7/dist-packages/requests/adapters.py in send(self, request, stream, timeout, verify, cert, proxies) 360 decode_content=False, 361 retries=Retry(self.max_retries, read=False), --> 362 timeout=timeout 363 ) 364 /usr/lib/python2.7/dist-packages/requests/packages/urllib3/connectionpool.pyc in urlopen(self, method, url, body, headers, retries, redirect, assert_same_host, timeout, pool_timeout, release_conn, **response_kw) 514 httplib_response = self._make_request(conn, method, url, 515 timeout=timeout, --> 516 body=body, headers=headers) 517 518 # If we're going to release the connection in ``finally:``, then /usr/lib/python2.7/dist-packages/requests/packages/urllib3/connectionpool.pyc in _make_request(self, conn, method, url, timeout, **httplib_request_kw) 297 self.num_requests += 1 298 --> 299 timeout_obj = self._get_timeout(timeout) 300 timeout_obj.start_connect() 301 conn.timeout = timeout_obj.connect_timeout /usr/lib/python2.7/dist-packages/requests/packages/urllib3/connectionpool.pyc in _get_timeout(self, timeout) 277 # User passed us an int/float. This is for backwards compatibility, 278 # can be removed later --> 279 return Timeout.from_float(timeout) 280 281 def _make_request(self, conn, method, url, timeout=_Default, /usr/lib/python2.7/dist-packages/requests/packages/urllib3/util/timeout.pyc in from_float(cls, timeout) 150 :rtype: :class:`Timeout` 151 """ --> 152 return Timeout(read=timeout, connect=timeout) 153 154 def clone(self): /usr/lib/python2.7/dist-packages/requests/packages/urllib3/util/timeout.pyc in __init__(self, total, connect, read) 93 94 def __init__(self, total=None, connect=_Default, read=_Default): ---> 95 self._connect = self._validate_timeout(connect, 'connect') 96 self._read = self._validate_timeout(read, 'read') 97 self.total = self._validate_timeout(total, 'total') /usr/lib/python2.7/dist-packages/requests/packages/urllib3/util/timeout.pyc in _validate_timeout(cls, value, name) 123 except (TypeError, ValueError): 124 raise ValueError("Timeout value %s was %s, but it must be an " --> 125 "int or float." % (name, value)) 126 127 try: ValueError: Timeout value connect was Timeout(connect=60, read=60, total=None), but it must be an int or float. -- System Information: Debian Release: jessie/sid APT prefers unstable APT policy: (500, 'unstable'), (500, 'stable'), (1, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 3.16-3-amd64 (SMP w/4 CPU cores) Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages python-docker depends on: ii python 2.7.8-2 ii python-requests 2.4.3-2 ii python-six 1.8.0-1 ii python-websocket 0.18.0-1 python-docker recommends no packages. python-docker suggests no packages. -- no debconf information -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org