From 9e6d35490a6542f9c97607f93c2ef8ca8e03cbcc Mon Sep 17 00:00:00 2001 From: Dimitry Andric Date: Wed, 6 Jan 2016 20:12:03 +0000 Subject: Vendor import of lldb trunk r256945: https://llvm.org/svn/llvm-project/lldb/trunk@256945 --- examples/customization/import-python/importcmd.py | 31 +++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 examples/customization/import-python/importcmd.py (limited to 'examples/customization/import-python/importcmd.py') 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 -- cgit v1.2.3