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