]> git.phdru.name Git - bookmarks_db.git/blobdiff - Robots/bkmk_rforking.py
Pass subproc_* parameters to the subprocess
[bookmarks_db.git] / Robots / bkmk_rforking.py
index a583e6e46657d95bb7cd2bebddc1f91c44b1f831..0d41c747585d483ee1d0131e3d1acb55282a7b42 100644 (file)
@@ -3,11 +3,8 @@
 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 <phd@phdru.name>"
-__copyright__ = "Copyright (C) 2000-2011 PhiloSoft Design"
+__copyright__ = "Copyright (C) 2000-2012 PhiloSoft Design"
 __license__ = "GNU GPL"
 
 __all__ = ['robot_forking']
@@ -47,8 +44,25 @@ def restart_subp(log):
    subp_pipe = RecordFile(check_subp)
 
 
+_set_subproc = True
+
 class robot_forking(Robot):
+   subproc = 'urllib' # Default subprocess
+
    def check_url(self, bookmark):
+      global _set_subproc
+      if _set_subproc:
+         _set_subproc = False
+
+         subproc = self.subproc
+         subproc_attrs = []
+         for attr in dir(self):
+             if attr.startswith('subproc_'):
+                 subproc_attrs.append((attr[len('subproc_'):], getattr(self, attr)))
+         if subproc_attrs:
+             subproc += ':' + ':'.join(['='.join((k,v)) for k,v in subproc_attrs])
+         os.environ['BKMK_ROBOT'] = subproc
+
       if not check_subp:
          restart_subp(self.log) # Not restart, just start afresh