File: importcmd.py

package info (click to toggle)
llvm-toolchain-3.7 1%3A3.7.1-5
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 345,556 kB
  • ctags: 362,199
  • sloc: cpp: 2,156,381; ansic: 458,339; objc: 91,547; python: 89,988; asm: 86,305; sh: 21,479; makefile: 6,853; perl: 5,601; ml: 5,458; pascal: 3,933; lisp: 2,429; xml: 686; cs: 239; php: 202; csh: 117
file content (31 lines) | stat: -rw-r--r-- 946 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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