Anorov/PySocks — pull request #2 by mdevaev (2013-12-11 11:19:17+00:00)
Title: Fixed handling of exceptions, such as socket.timeout

Exceptions do not always have errno or msg, so we need to handle all possible cases.
Below, you can see an example of errors without fixing this:
```
...
return opener.open(request, timeout=timeout).read()
File "/usr/lib/python3.3/urllib/request.py", line 469, in open
response = self._open(req, data)
File "/usr/lib/python3.3/urllib/request.py", line 487, in _open
'_open', req)
File "/usr/lib/python3.3/urllib/request.py", line 447, in _call_chain
result = func(*args)
File "/usr/lib/python3.3/site-packages/ulib/network/url.py", line 76, in http_open
return self.do_open(build, request)
File "/usr/lib/python3.3/urllib/request.py", line 1248, in do_open
h.request(req.get_method(), req.selector, req.data, headers)
File "/usr/lib/python3.3/http/client.py", line 1061, in request
self._send_request(method, url, body, headers)
File "/usr/lib/python3.3/http/client.py", line 1099, in _send_request
self.endheaders(body)
File "/usr/lib/python3.3/http/client.py", line 1057, in endheaders
self._send_output(message_body)
File "/usr/lib/python3.3/http/client.py", line 902, in _send_output
self.send(msg)
File "/usr/lib/python3.3/http/client.py", line 840, in send
self.connect()
File "/usr/lib/python3.3/site-packages/ulib/network/url.py", line 65, in connect
self.sock.connect((self.host, self.port))
File "/usr/lib/python3.3/site-packages/socks.py", line 480, in connect
errno, msg = error.args
ValueError: need more than 1 value to unpack
```