Files
CosmicLaca-ComfyUI_Primere_…/terminal_helpers/embedding_version_cache.py
T

62 lines
2.0 KiB
Python

from pathlib import Path
import sys
import os
here = Path(__file__).parent.parent.absolute()
comfy_dir = str(here.parent.parent)
sys.path.append(comfy_dir)
import folder_paths
primere_root = Path(__file__).parent.parent.absolute()
components_path = os.path.join(primere_root, 'components')
sys.path.append(components_path)
import utility
EmbeddingList = folder_paths.get_filename_list("embeddings")
def match_supported(name):
name_lower = name.lower()
for supported in utility.SUPPORTED_MODELS:
if supported.lower() == name_lower:
return supported
return None
def get_type_from_dir(oneEmbedding):
parts = Path(oneEmbedding).parts
if len(parts) > 1:
return match_supported(parts[0])
return None
print('------------------- START -------------------------')
print(str(len(EmbeddingList)) + ' embeddings in system')
print('--------------- CACHED EMBEDDING INFO ---------------------')
if len(EmbeddingList) > 0:
model_counter = 1
for oneEmbedding in EmbeddingList:
name_only = Path(oneEmbedding).stem
prefix = f"Embedding [{model_counter}] / {len(EmbeddingList)}"
model_version = utility.get_value_from_cache('embedding_version', name_only)
if model_version is not None and model_version in utility.SUPPORTED_MODELS:
print(f"{prefix} already cached: {name_only} -> {model_version}")
model_counter += 1
continue
dir_version = get_type_from_dir(oneEmbedding)
if dir_version:
utility.add_value_to_cache('embedding_version', name_only, dir_version)
print(f"{prefix} cached from directory: {name_only} -> {dir_version}")
model_counter += 1
continue
cache_msg = f"UNKNOWN | path: models/embeddings/{oneEmbedding}"
utility.add_value_to_cache('embedding_version', name_only, cache_msg)
print(f"{prefix} {cache_msg}")
model_counter += 1
else:
print('No embeddings in your system....')