Jonas Devlieghere 2238dcc393
[NFC][Py Reformat] Reformat python files in lldb
This is an ongoing series of commits that are reformatting our Python
code. Reformatting is done with `black` (23.1.0).

If you end up having problems merging this commit because you have made
changes to a python file, the best way to handle that is to run `git
checkout --ours <yourfile>` and then reformat it with black.

RFC: https://discourse.llvm.org/t/rfc-document-and-standardize-python-code-style

Differential revision: https://reviews.llvm.org/D151460
2023-05-25 12:54:09 -07:00

39 lines
1.0 KiB
Python

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