]> git.phdru.name Git - bookmarks_db.git/blobdiff - robots.py
Fix(Robot): Stop splitting and un-splitting URLs
[bookmarks_db.git] / robots.py
index 3a0238de4c48d96bb77e278fb23dc21b4d08845e..70513f21717df13fde291be3a8ed484e4f93b11c 100644 (file)
--- a/robots.py
+++ b/robots.py
@@ -1,21 +1,31 @@
 """Thin wrapper for module Robots. Provides "default" robot
 
 This file is a part of Bookmarks database and Internet robot.
+
 """
 
 __author__ = "Oleg Broytman <phd@phdru.name>"
-__copyright__ = "Copyright (C) 1997-2012 PhiloSoft Design"
+__copyright__ = "Copyright (C) 1997-2024 PhiloSoft Design"
 __license__ = "GNU GPL"
 
 __all__ = ['import_robot', 'robot']
 
 
+import sys
 from os import environ
-robot_name = environ.get("BKMK_ROBOT", "forking")
+from bkmk_objects import parse_params, set_params
+
+robot_name, robot_params = parse_params(environ.get("BKMK_ROBOT", "requests"))
+
 
 def import_robot(robot_name):
-   exec "from Robots import bkmk_r%s" % robot_name
-   exec "robot = bkmk_r%s.robot_%s" % (robot_name, robot_name)
-   return robot
+    if (robot_name == 'urllib') and (sys.version_info[0] >= 3):
+        robot_name = 'urllib_py3'
+    ns = locals()
+    exec("from Robots import bkmk_r%s" % robot_name, globals(), ns)
+    exec("robot = bkmk_r%s.robot_%s" % (robot_name, robot_name), globals(), ns)
+    return ns['robot']
+
 
 robot = import_robot(robot_name)
+set_params(robot, robot_params)