import sys import os import 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