| 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 |