X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=Robots%2Fbkmk_rurllib.py;h=839e37316197d10a51b8812e5bca874e7f00738f;hb=917353d7c874075d3709f9295dc231d8894e61a4;hp=2fdec0e917e465e34c61576445c577cb4b8a183a;hpb=669f3ea7641ca8e77cf059c7587136a6317c52a4;p=bookmarks_db.git diff --git a/Robots/bkmk_rurllib.py b/Robots/bkmk_rurllib.py index 2fdec0e..839e373 100644 --- a/Robots/bkmk_rurllib.py +++ b/Robots/bkmk_rurllib.py @@ -17,7 +17,7 @@ from Robots.bkmk_robot_base import robot_base, RedirectException, get_error class MyURLopener(urllib.URLopener): - # Error 301 -- relocated (temporarily) + # Error 301 -- relocated (permanently) def http_error_301(self, url, fp, errcode, errmsg, headers, data=None): if headers.has_key('location'): newurl = headers['location'] @@ -27,11 +27,11 @@ class MyURLopener(urllib.URLopener): newurl = "Nowhere" raise RedirectException(errcode, newurl) - # Error 302 -- also relocated (permanently) + # Error 302 -- relocated (temporarily) http_error_302 = http_error_301 - # Error 303 -- also relocated (permanently) + # Error 303 -- relocated (see other) http_error_303 = http_error_301 - # Error 307 -- also relocated (temporary) + # Error 307 -- relocated (temporarily) http_error_307 = http_error_301 # Error 401 -- authentication required @@ -74,16 +74,18 @@ urllib.ftpwrapper = myftpwrapper class robot_urllib(robot_base): - def urlretrieve(self, bookmark, url, accept_charset=False): + def get(self, bookmark, url, accept_charset=False): try: # Set fake referer to the base URL urllib._urlopener.addheaders[2] = ('Referer', url) if accept_charset and bookmark.charset: urllib._urlopener.addheader('Accept-Charset', bookmark.charset) - fname, headers = urllib.urlretrieve(url) - if accept_charset and bookmark.charset: - del urllib._urlopener.addheaders[-1] + try: + fname, headers = urllib.urlretrieve(url) + finally: + if accept_charset and bookmark.charset: + del urllib._urlopener.addheaders[-1] # Remove Accept-Charset infile = open(fname, 'rb') content = infile.read()