kimse bakmiyor olsa da kodlarimiz cici olsun.

This commit is contained in:
A. Murat Eren
2005-10-20 17:49:46 +00:00
parent cb77df6d65
commit bc84a9b95e
+14 -13
View File
@@ -37,7 +37,7 @@ import pisi.util as util
import pisi.context as ctx import pisi.context as ctx
from pisi.uri import URI from pisi.uri import URI
class Error(pisi.Error): class FetchError(pisi.Error):
pass pass
@@ -164,24 +164,25 @@ class Fetcher:
self._do_grab(fileObj, dest, totalsize) self._do_grab(fileObj, dest, totalsize)
def formatRequest(self, request): def formatRequest(self, request):
authinfo = self.url.auth_info() if self.url.auth_info():
if authinfo: enc = encodestring("%s:%s" % self.url.auth_info())
enc = encodestring("%s:%s" % authinfo)
request.add_header('Authorization', 'Basic %s' % enc) request.add_header('Authorization', 'Basic %s' % enc)
if self.existsize and self.scheme == "http" or self.scheme == "https":
range_handler = HTTPRangeHandler() range_handlers = {
opener = urllib2.build_opener(range_handler) 'http' : HTTPRangeHandler,
urllib2.install_opener(opener) 'https': HTTPRangeHandler,
request.add_header('Range', 'bytes=%d-' % self.existsize) 'ftp' : FTPRangeHandler
if self.existsize and self.scheme =="ftp": }
range_handler = FTPRangeHandler()
opener = urllib2.build_opener(range_handler) if self.existsize and range_handlers.has_key(self.scheme):
opener = urllib2.build_opener(range_handlers.get(self.scheme)())
urllib2.install_opener(opener) urllib2.install_opener(opener)
request.add_header('Range', 'bytes=%d-' % self.existsize) request.add_header('Range', 'bytes=%d-' % self.existsize)
return request return request
def err (self, error): def err (self, error):
raise Error(error) raise FetchError(error)
class HTTPRangeHandler(urllib2.BaseHandler): class HTTPRangeHandler(urllib2.BaseHandler):
""" """