diff options
Diffstat (limited to 'net/py-bittorrent-devel/files/zurllib.py')
-rw-r--r-- | net/py-bittorrent-devel/files/zurllib.py | 61 |
1 files changed, 0 insertions, 61 deletions
diff --git a/net/py-bittorrent-devel/files/zurllib.py b/net/py-bittorrent-devel/files/zurllib.py deleted file mode 100644 index a99ca51142bb..000000000000 --- a/net/py-bittorrent-devel/files/zurllib.py +++ /dev/null @@ -1,61 +0,0 @@ -# Written by John Hoffman -# see LICENSE.txt for license information - -from httplib import HTTPConnection -from urlparse import urlparse -import socket -from gzip import GzipFile -from StringIO import StringIO -from urllib import quote, unquote -from __init__ import version - -MAX_REDIRECTS = 10 - -class urlopen: - def __init__(self, url): - self.tries = 0 - self._open(url) - - def _open(self, url): - self.tries += 1 - if self.tries > MAX_REDIRECTS: - raise IOError, ('http error', 500, - "Internal Server Error: Redirect Recursion") - (scheme, netloc, path, pars, query, fragment) = urlparse(url) - if scheme != 'http': - raise IOError, ('url error', 'unknown url type', scheme, url) - url = path - if pars: - url += ';'+pars - if query: - url += '?'+query -# if fragment: - self.connection = HTTPConnection(netloc) - self.connection.request('GET', url, None, - { 'User-Agent': 'BitTorrent/' + version, - 'Accept-Encoding': 'gzip' } ) - self.response = self.connection.getresponse() - status = self.response.status - if status in (301,302): - try: - self.connection.close() - except: - pass - self._open(self.response.getheader('Location')) - return - if status != 200: - raise IOError, ('http error', status, self.response.reason) - - def read(self): - data = self.response.read() - if self.response.getheader('Content-Encoding','').find('gzip') >= 0: - try: - compressed = StringIO(data) - f = GzipFile(fileobj = compressed) - data = f.read() - except: - raise IOError, ('http error', 'got corrupt response') - return data - - def close(self): - self.connection.close() |