-
Notifications
You must be signed in to change notification settings - Fork 294
Closed
Labels
Description
On Python 2, sockets don't have a readinto() method in the FP used in, for example, _safe_readinto.
leading to errors like that seen here: kivy/kivy-ios#322 (comment), or the below:
File "/Users/hackalog/ios_demo/.buildozer/ios/platform/kivy-ios/toolchain.py", line 475, in download_file
urlretrieve(url, filename, report_hook)
File "/Users/hackalog/miniconda3/envs/ios_demo/lib/python2.7/site-packages/future/backports/urllib/request.py", line 1759, in retrieve
block = fp.read(bs)
File "/Users/hackalog/miniconda3/envs/ios_demo/lib/python2.7/site-packages/future/backports/http/client.py", line 516, in read
return bytes(super(HTTPResponse, self).read(amt))
File "/Users/hackalog/miniconda3/envs/ios_demo/lib/python2.7/site-packages/future/backports/http/client.py", line 545, in readinto
return self._readinto_chunked(b)
File "/Users/hackalog/miniconda3/envs/ios_demo/lib/python2.7/site-packages/future/backports/http/client.py", line 654, in _readinto_chunked
n = self._safe_readinto(temp_mvb)
File "/Users/hackalog/miniconda3/envs/ios_demo/lib/python2.7/site-packages/future/backports/http/client.py", line 701, in _safe_readinto
n = self.fp.readinto(mvb)
AttributeError: '_fileobject' object has no attribute 'readinto'
There's an if PY2 workaround for one of the readintocalls in client.py, but not these problematic ones. I propose a fix here: #423
jirkadanek