diff --git a/pyproject.toml b/pyproject.toml index ee03f5c..c490d60 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "basic_data_handling" -version = "0.4.5" +version = "0.4.6" description = """Basic Python functions for manipulating data that every programmer is used to, lightweight with no additional dependencies. Supported data types: diff --git a/src/basic_data_handling/data_list_nodes.py b/src/basic_data_handling/data_list_nodes.py index 894d68d..846aad3 100644 --- a/src/basic_data_handling/data_list_nodes.py +++ b/src/basic_data_handling/data_list_nodes.py @@ -747,6 +747,10 @@ class DataListPopRandom(ComfyNodeABC): INPUT_IS_LIST = True OUTPUT_IS_LIST = (True, False) + @classmethod + def IS_CHANGED(cls, **kwargs): + return float("NaN") # Not equal to anything -> trigger recalculation + def pop_random_element(self, **kwargs: list[Any]) -> tuple[list[Any], Any]: from random import randrange input_list = kwargs.get('list', []).copy() diff --git a/src/basic_data_handling/dict_nodes.py b/src/basic_data_handling/dict_nodes.py index a556153..b50bf14 100644 --- a/src/basic_data_handling/dict_nodes.py +++ b/src/basic_data_handling/dict_nodes.py @@ -736,6 +736,10 @@ class DictPopRandom(ComfyNodeABC): DESCRIPTION = cleandoc(__doc__ or "") FUNCTION = "pop_random" + @classmethod + def IS_CHANGED(cls, **kwargs): + return float("NaN") # Not equal to anything -> trigger recalculation + def pop_random(self, input_dict: dict) -> tuple[dict, str, Any, bool]: import random result = input_dict.copy() diff --git a/src/basic_data_handling/list_nodes.py b/src/basic_data_handling/list_nodes.py index 870d5ca..b4ae7ae 100644 --- a/src/basic_data_handling/list_nodes.py +++ b/src/basic_data_handling/list_nodes.py @@ -610,6 +610,10 @@ class ListPopRandom(ComfyNodeABC): DESCRIPTION = cleandoc(__doc__ or "") FUNCTION = "pop_random_element" + @classmethod + def IS_CHANGED(cls, **kwargs): + return float("NaN") # Not equal to anything -> trigger recalculation + def pop_random_element(self, list: list[Any]) -> tuple[list[Any], Any]: import random result = list.copy() diff --git a/src/basic_data_handling/set_nodes.py b/src/basic_data_handling/set_nodes.py index 18ce224..774c0ce 100644 --- a/src/basic_data_handling/set_nodes.py +++ b/src/basic_data_handling/set_nodes.py @@ -520,6 +520,10 @@ class SetPopRandom(ComfyNodeABC): DESCRIPTION = cleandoc(__doc__ or "") FUNCTION = "pop_random_element" + @classmethod + def IS_CHANGED(cls, **kwargs): + return float("NaN") # Not equal to anything -> trigger recalculation + def pop_random_element(self, set: set[Any]) -> tuple[set[Any], Any]: import random result = set.copy()