@@ -32,12 +32,14 @@ def is_str(string):
32
32
return isinstance (string , basestring )
33
33
34
34
35
- def find_xml_generator (name = "castxml" ):
35
+ def find_xml_generator (name = "castxml" , search_path = None ):
36
36
"""
37
37
Try to find a c++ parser (xml generator)
38
38
39
39
Args:
40
40
name (str): name of the c++ parser (e.g. castxml)
41
+ search_path (str): helps finding castxml
42
+ (for example in jupyter notebooks, use sys.path)
41
43
42
44
Returns:
43
45
path (str), name (str): path to the xml generator and it's name
@@ -49,7 +51,8 @@ def find_xml_generator(name="castxml"):
49
51
"""
50
52
51
53
if sys .version_info [:2 ] >= (3 , 3 ):
52
- path = _find_xml_generator_for_python_greater_equals_33 (name )
54
+ path = _find_xml_generator_for_python_greater_equals_33 (
55
+ name , search_path = search_path )
53
56
else :
54
57
path = _find_xml_generator_for_legacy_python (name )
55
58
@@ -58,8 +61,8 @@ def find_xml_generator(name="castxml"):
58
61
return path .rstrip (), name
59
62
60
63
61
- def _find_xml_generator_for_python_greater_equals_33 (name ):
62
- return shutil .which (name )
64
+ def _find_xml_generator_for_python_greater_equals_33 (name , search_path = None ):
65
+ return shutil .which (name , path = search_path )
63
66
64
67
65
68
def _find_xml_generator_for_legacy_python (name ):
0 commit comments