Kaydet (Commit) 45d63f2a authored tarafından A. Murat Eren's avatar A. Murat Eren

fetcher biraz daha adam olsun..

üst 2bd339a5
...@@ -113,12 +113,8 @@ class Fetcher: ...@@ -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: ...@@ -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)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment