]> git.phdru.name Git - bookmarks_db.git/blobdiff - Robots/bkmk_rurllib_py3.py
Fix(robots): Process response without `Content-Type`
[bookmarks_db.git] / Robots / bkmk_rurllib_py3.py
index 796a6fca3425bfb8d91d035968d02be246605bb3..2b73347568813505a270d9308e1595172aa98819 100644 (file)
@@ -11,6 +11,7 @@ __license__ = "GNU GPL"
 __all__ = ['robot_urllib_py3']
 
 
+import socket
 import sys
 import urllib.request
 
@@ -53,6 +54,9 @@ class MyURLopener(urllib.request.URLopener):
             fp.close()
         raise IOError(('http error', errcode, errmsg, headers))
 
+    def open(self, fullurl, data=None, timeout=socket._GLOBAL_DEFAULT_TIMEOUT):
+        return urllib.request.URLopener.open(self, fullurl, data)
+
 
 urllib.request._opener = opener = MyURLopener()
 
@@ -111,6 +115,11 @@ class robot_urllib_py3(robot_base):
         except RedirectException as e:
             return None, e.errcode, e.newurl, None, None
 
+        except OSError as e:
+            error = str(e)
+            self.log('   Error: %s' % error)
+            return error, None, None, None, None
+
         except IOError as e:
             if (e[0] == "http error") and (e[1] == -1):
                 error = None