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
 |