X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=src%2Fbindings%2Fpython%2Fbt2%2Fbt2%2Fplugin.py;h=597f38f24e8f3405990b91fa7eebb17821e70df1;hb=577fa92f184fd2d75fb0697e879ab563de117c2e;hp=86612920fde281b4b8a2cf8338ab876eb2b47ef7;hpb=cfbd7cf3bde05e8a6606478889dcd663604ef7b5;p=babeltrace.git diff --git a/src/bindings/python/bt2/bt2/plugin.py b/src/bindings/python/bt2/bt2/plugin.py index 86612920..597f38f2 100644 --- a/src/bindings/python/bt2/bt2/plugin.py +++ b/src/bindings/python/bt2/bt2/plugin.py @@ -27,7 +27,7 @@ import os.path import bt2 -def find_plugins(path, recurse=True, fail_on_load_error=False): +def find_plugins_in_path(path, recurse=True, fail_on_load_error=False): utils._check_str(path) utils._check_bool(recurse) utils._check_bool(fail_on_load_error) @@ -42,7 +42,7 @@ def find_plugins(path, recurse=True, fail_on_load_error=False): path, int(recurse), int(fail_on_load_error) ) else: - raise bt2.Error("invalid path: '{}'".format(path)) + raise ValueError("invalid path: '{}'".format(path)) if status == native_bt.__BT_FUNC_STATUS_NOT_FOUND: return @@ -52,10 +52,54 @@ def find_plugins(path, recurse=True, fail_on_load_error=False): return _PluginSet._create_from_ptr(plugin_set_ptr) -def find_plugin(name, fail_on_load_error=False): +def find_plugins( + find_in_std_env_var=True, + find_in_user_dir=True, + find_in_sys_dir=True, + find_in_static=True, + fail_on_load_error=False, +): + utils._check_bool(find_in_std_env_var) + utils._check_bool(find_in_user_dir) + utils._check_bool(find_in_sys_dir) + utils._check_bool(find_in_static) + utils._check_bool(fail_on_load_error) + plugin_set_ptr = None + + status, plugin_set_ptr = native_bt.bt2_plugin_find_all( + int(find_in_std_env_var), + int(find_in_user_dir), + int(find_in_sys_dir), + int(find_in_static), + int(fail_on_load_error), + ) + + if status == native_bt.__BT_FUNC_STATUS_NOT_FOUND: + return + + utils._handle_func_status(status, 'failed to find plugins') + assert plugin_set_ptr is not None + return _PluginSet._create_from_ptr(plugin_set_ptr) + + +def find_plugin( + name, + find_in_std_env_var=True, + find_in_user_dir=True, + find_in_sys_dir=True, + find_in_static=True, + fail_on_load_error=False, +): utils._check_str(name) utils._check_bool(fail_on_load_error) - status, ptr = native_bt.bt2_plugin_find(name, int(fail_on_load_error)) + status, ptr = native_bt.bt2_plugin_find( + name, + int(find_in_std_env_var), + int(find_in_user_dir), + int(find_in_sys_dir), + int(find_in_static), + int(fail_on_load_error), + ) if status == native_bt.__BT_FUNC_STATUS_NOT_FOUND: return