]> git.phdru.name Git - bookmarks_db.git/blobdiff - robots.py
Feat(robots): Handle HTTP redirect 308
[bookmarks_db.git] / robots.py
index 2527a0c2192e7700cd3ed31acd9337a7d31d35d8..1571d58e2af9b3b63c3e3ed1f0cd5bd7d1651e07 100644 (file)
--- a/robots.py
+++ b/robots.py
@@ -11,6 +11,7 @@ __license__ = "GNU GPL"
 __all__ = ['import_robot', 'robot']
 
 
+import sys
 from os import environ
 from bkmk_objects import parse_params, set_params
 
@@ -18,9 +19,13 @@ robot_name, robot_params = parse_params(environ.get("BKMK_ROBOT", "forking"))
 
 
 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)