X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;ds=sidebyside;f=Robots%2Fbkmk_rforking.py;h=843a0d27d939f3ca3e6db54f5f8ae48095837bda;hb=a01b9869e595d0c1cc5ebeb6f5a1da66d45c3d22;hp=3ce798b407002ed75db7abe3dff73ac8fc56785b;hpb=d12f0f2bd47efb4c41dcd306c53d712ed3d194d7;p=bookmarks_db.git diff --git a/Robots/bkmk_rforking.py b/Robots/bkmk_rforking.py index 3ce798b..843a0d2 100644 --- a/Robots/bkmk_rforking.py +++ b/Robots/bkmk_rforking.py @@ -1,9 +1,14 @@ -""" - Forking robot +"""Forking robot - Written by BroytMann. Copyright (C) 2000-2007 PhiloSoft Design. +This file is a part of Bookmarks database and Internet robot. """ +__version__ = "$Revision$"[11:-2] +__revision__ = "$Id$"[5:-2] +__date__ = "$Date$"[7:-2] +__author__ = "Oleg Broytman " +__copyright__ = "Copyright (C) 2000-2011 PhiloSoft Design" +__license__ = "GNU GPL" try: import cPickle @@ -15,8 +20,8 @@ import sys, os from subproc import Subprocess, RecordFile # This is to catch 'close failed: [Errno 9] Bad file descriptor' message -# from os.close() in Subprocess.die(). -sys.stderr = open("err.log", 'w') +# from os.close() in Subprocess.die() and errors from from the subprocess. +sys.stderr = open("err.log", 'a') check_subp = None subp_pipe = None @@ -47,15 +52,14 @@ class robot_forking(Robot): try: save_parent = bookmark.parent bookmark.parent = None - - bookmark.tempfname = self.tempfname subp_pipe.write_record(pickle.dumps(bookmark)) - if check_subp.waitForPendingChar(900): # wait 15 minutes + if check_subp.waitForPendingChar(60): # wait a minute new_b = pickle.loads(subp_pipe.read_record()) for attr in ("error", "no_error", "moved", "size", "md5", "real_title", - "last_tested", "last_modified", "test_time", "icon"): + "last_tested", "last_modified", "test_time", + "icon", "icon_href"): if hasattr(new_b, attr): setattr(bookmark, attr, getattr(new_b, attr)) else: @@ -69,6 +73,7 @@ class robot_forking(Robot): if not error: break sys.stderr.write("(subp) " + error) + sys.stderr.flush() except KeyboardInterrupt: return 0