From f0db2f0032e823c77676ec845e8ff2c31e336ce7 Mon Sep 17 00:00:00 2001 From: xgdgsc Date: Tue, 25 Jul 2023 12:53:46 +0800 Subject: [PATCH] Add search_path arg --- pygccxml/utils/utils.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/pygccxml/utils/utils.py b/pygccxml/utils/utils.py index dbccc65d..4bf9b64c 100644 --- a/pygccxml/utils/utils.py +++ b/pygccxml/utils/utils.py @@ -32,12 +32,14 @@ def is_str(string): return isinstance(string, basestring) -def find_xml_generator(name="castxml"): +def find_xml_generator(name="castxml", search_path=None): """ Try to find a c++ parser (xml generator) Args: name (str): name of the c++ parser (e.g. castxml) + search_path (str): helps finding castxml + (in jupyter notebooks, try with sys.path for example) Returns: path (str), name (str): path to the xml generator and it's name @@ -49,7 +51,8 @@ def find_xml_generator(name="castxml"): """ if sys.version_info[:2] >= (3, 3): - path = _find_xml_generator_for_python_greater_equals_33(name) + path = _find_xml_generator_for_python_greater_equals_33( + name, search_path=search_path) else: path = _find_xml_generator_for_legacy_python(name) @@ -58,8 +61,8 @@ def find_xml_generator(name="castxml"): return path.rstrip(), name -def _find_xml_generator_for_python_greater_equals_33(name): - return shutil.which(name) +def _find_xml_generator_for_python_greater_equals_33(name, search_path=None): + return shutil.which(name, path=search_path) def _find_xml_generator_for_legacy_python(name):