importcmd.py   [plain text]


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