|
import json
|
|
from ..core import CONFIG, CATEGORY, BOOLEAN, BOOLEAN_FALSE, KEYS, TEXTS, STRING, logger, any
|
|
|
|
class CConsoleAny:
|
|
def __init__(self):
|
|
pass
|
|
|
|
@classmethod
|
|
def INPUT_TYPES(cls):
|
|
return {
|
|
"required": {
|
|
},
|
|
"optional": {
|
|
"any_value": (any,),
|
|
"console": BOOLEAN_FALSE,
|
|
"display": BOOLEAN,
|
|
KEYS.PREFIX.value: STRING,
|
|
},
|
|
"hidden": {
|
|
|
|
|
|
},
|
|
}
|
|
|
|
CATEGORY = CATEGORY.MAIN.value + CATEGORY.DEBUGGER.value
|
|
INPUT_IS_LIST = True
|
|
|
|
RETURN_TYPES = ()
|
|
OUTPUT_NODE = True
|
|
|
|
FUNCTION = "execute"
|
|
|
|
def execute(self, any_value=None, console=False, display=True, prefix=None):
|
|
console = console[0]
|
|
display = display[0]
|
|
prefix = prefix[0]
|
|
text = ""
|
|
textToDisplay = TEXTS.INACTIVE_MSG.value
|
|
|
|
if any_value is not None:
|
|
try:
|
|
if type(any_value) == list:
|
|
for item in any_value:
|
|
try:
|
|
text += str(item)
|
|
except Exception as e:
|
|
text += "source exists, but could not be serialized.\n"
|
|
logger.warn(e)
|
|
else:
|
|
logger.warn("any_value is not a list")
|
|
|
|
except Exception:
|
|
try:
|
|
text = json.dumps(any_value)[1:-1]
|
|
except Exception:
|
|
text = 'source exists, but could not be serialized.'
|
|
|
|
logger.debug(f"Show any to console is running...")
|
|
|
|
if console:
|
|
if prefix is not None and prefix != "":
|
|
print(f"{prefix}: {text}")
|
|
else:
|
|
print(text)
|
|
|
|
if display:
|
|
textToDisplay = text
|
|
|
|
value = [console, display, prefix, textToDisplay]
|
|
|
|
|
|
return {"ui": {"text": value}}
|
|
|
|
|
|
class CConsoleAnyToJson:
|
|
def __init__(self):
|
|
pass
|
|
|
|
@classmethod
|
|
def INPUT_TYPES(cls):
|
|
return {
|
|
"required": {
|
|
},
|
|
"optional": {
|
|
"any_value": (any,),
|
|
},
|
|
}
|
|
|
|
CATEGORY = CATEGORY.MAIN.value + CATEGORY.DEBUGGER.value
|
|
INPUT_IS_LIST = True
|
|
|
|
RETURN_TYPES = ("STRING",)
|
|
RETURN_NAMES = ("string",)
|
|
OUTPUT_NODE = True
|
|
|
|
FUNCTION = "execute"
|
|
|
|
def execute(self, any_value=None):
|
|
text = TEXTS.INACTIVE_MSG.value
|
|
|
|
if any_value is not None and isinstance(any_value, list):
|
|
item = any_value[0]
|
|
|
|
if isinstance(item, dict):
|
|
try:
|
|
text = json.dumps(item, indent=CONFIG["indent"])
|
|
except Exception as e:
|
|
text = "The input is a dict, but could not be serialized.\n"
|
|
logger.warn(e)
|
|
|
|
elif isinstance(item, list):
|
|
try:
|
|
text = json.dumps(item, indent=CONFIG["indent"])
|
|
except Exception as e:
|
|
text = "The input is a list, but could not be serialized.\n"
|
|
logger.warn(e)
|
|
|
|
else:
|
|
text = str(item)
|
|
|
|
logger.debug(f"Show any-json to console is running...")
|
|
|
|
return {"ui": {"text": [text]}, "result": (text,)}
|
|
|