diff --git a/EmbeddingsNameLoader.py b/EmbeddingsNameLoader.py new file mode 100644 index 0000000..3eb47ec --- /dev/null +++ b/EmbeddingsNameLoader.py @@ -0,0 +1,45 @@ +import folder_paths +import re + + +class EmbeddingsNameLoader: + def __init__(self): + pass + + @classmethod + def INPUT_TYPES(s): + return {"required": { "text": ("STRING", {"multiline": True}), + }} + + RETURN_TYPES = ("STRING", ) + RETURN_NAMES = ("STRING", ) + + FUNCTION = "run" + + CATEGORY = "Embeddings Tools" + + def run(self, text): + + emb_files = folder_paths.get_filename_list("embeddings") + + output_text = text + + for file_name in emb_files: + + base_name = file_name.split('\\')[-1].split('.')[0] + + #output_text = output_text.replace(base_name, f"embedding:{base_name}") + + pattern = re.compile(re.escape(base_name), re.IGNORECASE) + output_text = pattern.sub(f"embedding:{base_name}", output_text) + + return (output_text, ) + + +NODE_CLASS_MAPPINGS = { + "EmbeddingsNameLoader": EmbeddingsNameLoader, +} + +NODE_DISPLAY_NAME_MAPPINGS = { + "EmbeddingsNameLoader": "Load Embeddings by Name", +} \ No newline at end of file diff --git a/EmbendingList.py b/EmbendingList.py new file mode 100644 index 0000000..1ed2789 --- /dev/null +++ b/EmbendingList.py @@ -0,0 +1,32 @@ +import folder_paths + +class EmbendingList: + def __init__(self): + pass + + @classmethod + def INPUT_TYPES(s): + return {"required": { }} + + RETURN_TYPES = ("STRING",) + RETURN_NAMES = ("Embeddings List (STRING)",) + + FUNCTION = "run" + + CATEGORY = "Embeddings Tools" + + def run(self): + + emb_files = folder_paths.get_filename_list("embeddings") + emb_files_str = "\n".join(emb_files) + + return (emb_files_str, ) + + +NODE_CLASS_MAPPINGS = { + "EmbendingList": EmbendingList, +} + +NODE_DISPLAY_NAME_MAPPINGS = { + "EmbendingList": "Embeddings List", +} \ No newline at end of file diff --git a/__init__.py b/__init__.py new file mode 100644 index 0000000..f77bd60 --- /dev/null +++ b/__init__.py @@ -0,0 +1,12 @@ +from .EmbeddingsNameLoader import EmbeddingsNameLoader +from .EmbendingList import EmbendingList + +NODE_CLASS_MAPPINGS = { + "EmbeddingsNameLoader": EmbeddingsNameLoader, + "EmbendingList": EmbendingList, +} + +NODE_DISPLAY_NAME_MAPPINGS = { + "EmbeddingsNameLoader": "Load Embeddings by Name", + "EmbendingList": "Embeddings List", +}