X-Git-Url: https://git.phdru.name/?p=bookmarks_db.git;a=blobdiff_plain;f=robots.py;h=543e6ec783152c4caaeaaddba4f55bb71e78da76;hp=3a0238de4c48d96bb77e278fb23dc21b4d08845e;hb=HEAD;hpb=71712390f4edb041609ff7bc9272d12a5c1a9b1d diff --git a/robots.py b/robots.py index 3a0238d..70513f2 100644 --- 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 " -__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)