Files
jedi/debug.py
2012-09-09 15:01:48 +02:00

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