forked from OSchip/llvm-project
40 lines
1.1 KiB
Python
40 lines
1.1 KiB
Python
from __future__ import print_function
|
|
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
|