"""
__author__ = "Oleg Broytman <phd@phdru.name>"
-__copyright__ = "Copyright (C) 2000-2014 PhiloSoft Design"
+__copyright__ = "Copyright (C) 2000-2017 PhiloSoft Design"
__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
# 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())
pass # float timeout
self.set_redirect(bookmark, "html", "%s (%s sec)" % (url, timeout))
- except KeyError, key:
+ except KeyError as key:
self.log(" no header: %s" % key)
except EOFError:
self.log("Keyboard interrupt (^C)")
return 0
+ except socket.error as e:
+ bookmark.error = get_error(e)
+ self.log(bookmark.error)
+
except:
import traceback
traceback.print_exc()