]> git.phdru.name Git - bookmarks_db.git/commitdiff
Handle HTTPException and IOError (socket errors)
authorOleg Broytman <phd@phdru.name>
Sun, 6 Jul 2014 01:39:54 +0000 (05:39 +0400)
committerOleg Broytman <phd@phdru.name>
Sun, 6 Jul 2014 01:50:45 +0000 (05:50 +0400)
Log all errors.

Robots/bkmk_rurllib2.py

index b15a7b0dfea49c9d19b014ebb65052dd5027a552..49c556850c8bd2718d70b9604750a3aa43ad8b37 100644 (file)
@@ -14,7 +14,7 @@ __all__ = ['robot_urllib2']
 import sys
 import httplib
 import urllib2
-from Robots.bkmk_robot_base import robot_base
+from Robots.bkmk_robot_base import robot_base, get_error
 
 
 opener = urllib2.OpenerDirector()
@@ -53,9 +53,19 @@ class robot_urllib2(robot_base):
             if e.code in (301, 302, 303, 307):
                 return None, e.code, e.hdrs['Location'], None, None
             else:
+                self.log('   HTTP Error %s: %s' % (e.code, e.msg))
                 return "HTTP Error %s: %s" % (e.code, e.msg), None, None, None, None
         except urllib2.URLError, e:
+            self.log('   URL Error: %s' % e.reason)
             return "URL Error: %s" % e.reason, None, None, None, None
+        except httplib.HTTPException, e:
+            error = get_error(e)
+            self.log('   HTTP Exception: %s' % error)
+            return "HTTP Exception: %s" % error, None, None, None, None
+        except IOError, e:
+            error = get_error(e)
+            self.log('   I/O Error: %s' % error)
+            return "I/O Error: %s" % error, None, None, None, None
         else:
             return None, None, None, response.info(), response.read()