1 """Thin wrapper for module Robots. Provides "default" robot
3 This file is a part of Bookmarks database and Internet robot.
7 __author__ = "Oleg Broytman <phd@phdru.name>"
8 __copyright__ = "Copyright (C) 1997-2025 PhiloSoft Design"
9 __license__ = "GNU GPL"
11 __all__ = ['import_robot', 'robot']
14 from os import environ
15 from bkmk_objects import parse_params, set_params
17 robot_names, robot_params = parse_params(
18 environ.get("BKMK_ROBOT",
19 "multicurlcffi,multirequests,multihttpx,aio"))
22 def import_robot(robot_name):
24 exec("from Robots import bkmk_r%s" % robot_name, globals(), ns)
25 exec("robot = bkmk_r%s.robot_%s" % (robot_name, robot_name), globals(), ns)
29 for robot_name in robot_names.split(','):
31 robot = import_robot(robot_name)
35 set_params(robot, robot_params)
38 raise ValueError("No robot found, tried " + robot_names)