38 lines
968 B
Python
38 lines
968 B
Python
from datetime import datetime
|
|
|
|
NODE_CLASS_MAPPINGS = {}
|
|
NODE_DISPLAY_NAME_MAPPINGS = {}
|
|
|
|
|
|
def register_node(identifier: str, display_name: str):
|
|
def decorator(cls):
|
|
NODE_CLASS_MAPPINGS[identifier] = cls
|
|
NODE_DISPLAY_NAME_MAPPINGS[identifier] = display_name
|
|
|
|
return cls
|
|
|
|
return decorator
|
|
|
|
|
|
@register_node("JWDatetimeString", "Datetime String")
|
|
class _:
|
|
CATEGORY = "jamesWalker55"
|
|
INPUT_TYPES = lambda: {
|
|
"required": {
|
|
"format": ("STRING", {"default": "%Y-%m-%dT%H:%M:%S"}),
|
|
}
|
|
}
|
|
RETURN_TYPES = ("STRING",)
|
|
FUNCTION = "execute"
|
|
|
|
def execute(self, format: str):
|
|
now = datetime.now()
|
|
return (now.strftime(format),)
|
|
|
|
@classmethod
|
|
def IS_CHANGED(cls, *args):
|
|
# This value will be compared with previous 'IS_CHANGED' outputs
|
|
# If inequal, then this node will be considered as modified
|
|
# NaN is never equal to itself
|
|
return float("NaN")
|