]> git.phdru.name Git - bookmarks_db.git/blobdiff - Robots/bkmk_rrequests.py
Fix(Robots/bkmk_rrequests): No need to re-check error 404 via proxy
[bookmarks_db.git] / Robots / bkmk_rrequests.py
index 54b4c625d6bcf28cfb4497099cebba5fd2c39426..4612a8d5384dd2b03a31145132066be3ce33bf77 100644 (file)
@@ -36,7 +36,7 @@ class robot_requests(robot_base):
         url_host = split_results.hostname
 
         if url_host in self.proxy_error:
-            return 'proxy error', None, None, None, None
+            return 'see prev. error', None, None, None, None
 
         if accept_charset and bookmark.charset:
             headers = request_headers.copy()
@@ -51,14 +51,14 @@ class robot_requests(robot_base):
             error, r = request_get(url, headers, self.timeout, None)
             if error is not None:
                 self.log('   Error: %s' % error)
-                if self.proxy:
+                if self.proxy and error != '404 not_found':
                     self.log('   Retrying with the proxy...')
                     error, r = request_get(url, headers,
                                            self.timeout, self.proxy)
                     if error is None:
                         self.proxy_ok.add(url_host)
         if error is not None:
-            if self.proxy:
+            if self.proxy and error != '404 not_found':
                 self.log('   Proxy error: %s' % error)
                 if url_host not in self.proxy_ok:
                     self.proxy_error.add(url_host)
@@ -84,4 +84,7 @@ def request_get(url, headers, timeout, proxy):
     except requests.RequestException as e:
         return str(e), None
     else:
+        if r.status_code >= 400:
+            error = requests.status_codes._codes[r.status_code][0]
+            return '%d %s' % (r.status_code, error), None
         return None, r