aboutsummaryrefslogtreecommitdiff
path: root/youtube_dl/socks.py
AgeCommit message (Collapse)Author
2016-12-05[socks] Refine exception model for better error handlingYen Chi Hsuan
1. ProxyError now inherits from socket.error instead of IOError The only functions socks.py overrides are connect and connect_ex. In Python 2.x and Python <= 3.2, socket functions raises socket.error. In newer Python versions, those functions raises OSError instead. The name socket.error is preserved as an alias of OSError for backward compability. To keep socks.py compatible with Python's standard library, it should raise the same exception as raw sockets. See PEP 3151 (https://www.python.org/dev/peps/pep-3151/) for more information about the change in Python 3.3. 2. Raise EOFError instead of IOError when the socket receives less data than it expects There's no common convention, but both ftplib and telnetlib raises EOFError for similar situations. socks.py follows them. Closes #11355 In #11355, only Python 2 is affected. In Python 3, both socket.error and IOError are alias of OSError, so AbstractHTTPHandler.do_open correctly catches the error and thus InfoExtractor._is_valid_url works fine.
2016-12-03[socks] Fix error reporting (#11355)Yen Chi Hsuan
2016-11-17Update coding style after pycodestyle 2.1.0Yen Chi Hsuan
In pycodestyle 2.1.0, E305 was introduced, which requires two blank lines after top level declarations, too. See https://github.com/PyCQA/pycodestyle/issues/400 See also #10689; thanks @stepshal for first mentioning this issue and initial patches
2016-06-26Fix misspellingstepshal
2016-05-10[socks] Remove a superfluous clauseYen Chi Hsuan
2016-05-10[compat] Rename struct_(un)pack to compat_struct_(un)packYen Chi Hsuan
2016-05-10[socks] Eliminate magic constants and improveYen Chi Hsuan
2016-05-10[socks] Support SOCKS proxiesYen Chi Hsuan
2016-05-10[socks] Add socks.py from @bluec0re's public domain implementationYen Chi Hsuan
https://gist.github.com/bluec0re/cafd3764412967417fd3