diff options
Diffstat (limited to 'examples/customization/import-python/importcmd.py')
| -rw-r--r-- | examples/customization/import-python/importcmd.py | 31 | 
1 files changed, 31 insertions, 0 deletions
| diff --git a/examples/customization/import-python/importcmd.py b/examples/customization/import-python/importcmd.py new file mode 100644 index 000000000000..576a642d5a01 --- /dev/null +++ b/examples/customization/import-python/importcmd.py @@ -0,0 +1,31 @@ +import sys,os,lldb +def check_has_dir_in_path(dirname): +	return sys.path.__contains__(dirname); + +def ensure_has_dir_in_path(dirname): +	dirname = os.path.abspath(dirname) +	if not (check_has_dir_in_path(dirname)): +		sys.path.append(dirname);	 + +def do_import(debugger,modname): +	if (len(modname) > 4 and modname[-4:] == '.pyc'): +		modname = modname[:-4] +	if (len(modname) > 3 and modname[-3:] == '.py'): +		modname = modname[:-3] +	debugger.HandleCommand("script import " + modname) + +def pyimport_cmd(debugger, args, result, dict): +	"""Import a Python module given its full path""" +	print 'WARNING: obsolete feature - use native command "command script import"' +	if args == "": +		return "no module path given"; +	if not (os.sep in args): +		modname = args +		ensure_has_dir_in_path('.') +	else: +		endofdir = args.rfind(os.sep) +		modname = args[endofdir+1:] +		args = args[0:endofdir] +		ensure_has_dir_in_path(args) +	do_import(debugger,modname) +	return None | 
