aboutsummaryrefslogtreecommitdiff
path: root/examples/customization/import-python/importcmd.py
diff options
context:
space:
mode:
Diffstat (limited to 'examples/customization/import-python/importcmd.py')
-rw-r--r--examples/customization/import-python/importcmd.py31
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