mirror of
https://github.com/davidhalter/jedi.git
synced 2025-12-06 22:14:27 +08:00
46 lines
1.0 KiB
Python
46 lines
1.0 KiB
Python
import inspect
|
|
try:
|
|
# Use colorama for nicer console output.
|
|
from colorama import Fore, init
|
|
init()
|
|
except ImportError:
|
|
class Fore(object):
|
|
RED = ''
|
|
GREEN = ''
|
|
RESET = ''
|
|
|
|
NOTICE = object()
|
|
WARNING = object()
|
|
ERROR = object()
|
|
|
|
debug_function = None
|
|
ignored_modules = ['parsing', 'builtin']
|
|
|
|
|
|
def dbg(*args):
|
|
""" Looks at the stack, to see if a debug message should be printed. """
|
|
if debug_function:
|
|
frm = inspect.stack()[1]
|
|
mod = inspect.getmodule(frm[0])
|
|
if not (mod.__name__ in ignored_modules):
|
|
debug_function(NOTICE, *args)
|
|
|
|
|
|
def warning(*args):
|
|
if debug_function:
|
|
debug_function(WARNING, *args)
|
|
|
|
|
|
def error(*args):
|
|
if debug_function:
|
|
debug_function(ERROR, *args)
|
|
|
|
|
|
def print_to_stdout(level, *args):
|
|
""" The default debug function """
|
|
msg = (Fore.GREEN + 'dbg: ' if level == NOTICE else Fore.RED + 'warning: ')
|
|
print(msg + ', '.join(str(a) for a in args) + Fore.RESET)
|
|
|
|
|
|
#debug_function = print_to_stdout
|