fetcher biraz daha adam olsun..

This commit is contained in:
A. Murat Eren
2005-07-05 12:00:19 +00:00
parent 2bd339a508
commit 45d63f2a20
+16 -6
View File
@@ -113,12 +113,8 @@ class Fetcher:
from httplib import HTTPException from httplib import HTTPException
try: try:
request = urllib2.Request(self.url.uri) fileObj = urllib2.urlopen(self.formatRequest\
if self.username: (urllib2.Request(self.url.uri)))
request.add_header('Authorization', 'Basic %s' %
encodestring('%s:%s' %
(self.username, self.passwd)))
fileObj = urllib2.urlopen(request)
headers = fileObj.info() headers = fileObj.info()
except ValueError, e: except ValueError, e:
@@ -137,6 +133,20 @@ class Fetcher:
dest = open(os.path.join(self.filedest, self.url.filename()) , "w") dest = open(os.path.join(self.filedest, self.url.filename()) , "w")
self.doGrab(fileObj, dest, totalsize) self.doGrab(fileObj, dest, totalsize)
def setAuthInfo(self, username='', passwd=''):
if self.url.isLocalFile():
self.err('No auth info needed for local files')
self.username = username
self.passwd = passwd
def formatRequest(self, request):
if self.username:
request.add_header('Authorization', 'Basic %s' %
(encodestring('%s:%s' %
(self.username, self.passwd))))
return request
def err (self, error): def err (self, error):
raise FetchError(error) raise FetchError(error)