First but not optimized version of AstFormatDict
This commit is contained in:
@@ -34,13 +34,16 @@ class BaseDebugLogger:
|
||||
def debug_entering(self, **kwargs):
|
||||
pass
|
||||
|
||||
def debug_var(self, name, value, is_error=False):
|
||||
def debug_var(self, name, value, is_error=False, hint=None):
|
||||
pass
|
||||
|
||||
def debug_rule(self, rule, results):
|
||||
pass
|
||||
|
||||
def debug_log(self, text):
|
||||
def debug_log(self, text, is_error=False):
|
||||
pass
|
||||
|
||||
def is_enabled(self):
|
||||
pass
|
||||
|
||||
|
||||
@@ -48,6 +51,9 @@ class NullDebugLogger(BaseDebugLogger):
|
||||
def __init__(self):
|
||||
pass
|
||||
|
||||
def is_enabled(self):
|
||||
return False
|
||||
|
||||
|
||||
class ConsoleDebugLogger(BaseDebugLogger):
|
||||
|
||||
@@ -60,6 +66,9 @@ class ConsoleDebugLogger(BaseDebugLogger):
|
||||
self.debug_id = debug_id
|
||||
self.is_highlighted = ""
|
||||
|
||||
def is_enabled(self):
|
||||
return True
|
||||
|
||||
def debug_entering(self, **kwargs):
|
||||
super().debug_entering(**kwargs)
|
||||
|
||||
@@ -71,17 +80,18 @@ class ConsoleDebugLogger(BaseDebugLogger):
|
||||
self.debug_manager.debug(self.prefix() + str_text)
|
||||
self.debug_manager.debug(self.prefix() + str_vars)
|
||||
|
||||
def debug_var(self, name, value, is_error=False):
|
||||
enabled = self.debug_manager.compute_var_debug(self.service_name,
|
||||
self.method_name,
|
||||
self.context_id,
|
||||
name,
|
||||
self.context_id)
|
||||
def debug_var(self, name, value, is_error=False, hint=None):
|
||||
enabled = is_error or self.debug_manager.compute_var_debug(self.service_name,
|
||||
self.method_name,
|
||||
self.context_id,
|
||||
name,
|
||||
self.context_id)
|
||||
if enabled == False:
|
||||
return
|
||||
|
||||
color = 'red' if is_error else 'green'
|
||||
str_text = f"{CCM[color]}..{name}={CCM['reset']}"
|
||||
hint_str = f"({hint})" if hint is not None else ""
|
||||
str_text = f"{CCM[color]}..{name}{hint_str}={CCM['reset']}"
|
||||
str_vars = "" if isinstance(enabled, str) else pp.pformat(value)
|
||||
if "\n" not in str(str_vars):
|
||||
self.debug_manager.debug(self.prefix() + str_text + str_vars)
|
||||
@@ -101,8 +111,9 @@ class ConsoleDebugLogger(BaseDebugLogger):
|
||||
self.debug_manager.debug(self.prefix() + str_text)
|
||||
self.debug_manager.debug(self.prefix() + str_vars)
|
||||
|
||||
def debug_log(self, text):
|
||||
self.debug_manager.debug(self.prefix() + f"{CCM['blue']}..{text}{CCM['reset']}")
|
||||
def debug_log(self, text, is_error=False):
|
||||
color = 'red' if is_error else 'blue'
|
||||
self.debug_manager.debug(self.prefix() + f"{CCM[color]}..{text}{CCM['reset']}")
|
||||
|
||||
def prefix(self):
|
||||
return f"[{self.context_id:2}][{self.debug_id:2}] {self.is_highlighted}"
|
||||
@@ -271,12 +282,8 @@ class SheerkaDebugManager(BaseService):
|
||||
res = {}
|
||||
for prop in props:
|
||||
res[prop] = evaluate_expression(prop, bag)
|
||||
# res = {
|
||||
# "return_values": to_inspect.values.get("return_values", None)
|
||||
# }
|
||||
|
||||
pp.pprint(res)
|
||||
return None
|
||||
return self.sheerka.new(BuiltinConcepts.TO_DICT, body=res)
|
||||
|
||||
def debug(self, *args, **kwargs):
|
||||
print(*args, **kwargs)
|
||||
@@ -437,4 +444,4 @@ class SheerkaDebugManager(BaseService):
|
||||
return self.sheerka.ret(SheerkaDebugManager.NAME, True, self.sheerka.new(BuiltinConcepts.SUCCESS))
|
||||
|
||||
def get_debug_settings(self):
|
||||
return self.debug_vars_settings
|
||||
return self.sheerka.new(BuiltinConcepts.TO_LIST, body=self.debug_vars_settings)
|
||||
|
||||
Reference in New Issue
Block a user