X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=Robots%2Fbkmk_robot_base.py;h=eb69c28bb31ed783073b318dc3722a706bb8e9ff;hb=7c67f205b840eae593185f531d6d5729be3360cb;hp=30a26bf137138ef40b4da218efeab4be64acc399;hpb=1322d04c660325532fe6e2bd0aa10ab8a4693440;p=bookmarks_db.git diff --git a/Robots/bkmk_robot_base.py b/Robots/bkmk_robot_base.py index 30a26bf..eb69c28 100644 --- a/Robots/bkmk_robot_base.py +++ b/Robots/bkmk_robot_base.py @@ -11,13 +11,15 @@ __license__ = "GNU GPL" __all__ = ['robot_base', 'get_error'] -import sys -import time, urllib from base64 import b64encode +import sys +import socket +import time +import urllib from urlparse import urljoin -from m_lib.net.www.util import parse_time from m_lib.md5wrapper import md5wrapper +from m_lib.net.www.util import parse_time from bkmk_objects import Robot from parse_html import parse_html @@ -47,6 +49,12 @@ icons = {} # Icon cache; maps URL to a tuple (content type, data) # or None if there is no icon. class robot_base(Robot): + timeout = 60 + + def __init__(self, *args, **kw): + Robot.__init__(self, *args, **kw) + socket.setdefaulttimeout(int(self.timeout)) + def check_url(self, bookmark): try: self.start = int(time.time()) @@ -203,6 +211,10 @@ class robot_base(Robot): self.log("Keyboard interrupt (^C)") return 0 + except socket.error, e: + bookmark.error = get_error(e) + self.log(bookmark.error) + except: import traceback traceback.print_exc()