Move language extensions in order to support packagized frontend

This commit is contained in:
doctorpangloss 2025-03-05 10:39:31 -08:00
parent 0deb0f3931
commit 8d2d613f95
6 changed files with 18 additions and 2 deletions

View File

@ -3,6 +3,7 @@ import hashlib
from PIL import ImageFile, UnidentifiedImageError
from .cli_args import args
from .component_model.files import get_package_as_path
def conditioning_set_values(conditioning, values: dict = None):
@ -75,6 +76,18 @@ def export_custom_nodes():
return custom_nodes
def export_package_as_web_directory(package:str):
import inspect
# Get the calling module
frame = inspect.currentframe()
try:
module = inspect.getmodule(frame.f_back)
setattr(module, 'WEB_DIRECTORY', get_package_as_path(package))
finally:
# Clean up circular reference
del frame
def string_to_torch_dtype(string):
import torch

View File

@ -28,7 +28,9 @@ def _import_nodes_in_module(exported_nodes: ExportedNodes, module: types.ModuleT
exported_nodes.NODE_DISPLAY_NAME_MAPPINGS.update(node_display_names)
if web_directory:
# load the extension resources path
abs_web_directory = os.path.abspath(get_package_as_path(module.__name__, web_directory))
abs_web_directory = web_directory
if not os.path.isdir(abs_web_directory):
abs_web_directory = os.path.abspath(get_package_as_path(module.__name__, web_directory))
if not os.path.isdir(abs_web_directory):
abs_web_directory = os.path.abspath(os.path.join(os.path.dirname(module.__file__), web_directory))
if not os.path.isdir(abs_web_directory):

View File

View File

@ -21,7 +21,7 @@ from comfy.language.language_types import GENERATION_KWARGS_TYPE, GENERATION_KWA
from comfy.language.transformers_model_management import TransformersManagedModel
from comfy.model_downloader import get_huggingface_repo_list, get_or_download_huggingface_repo
from comfy.model_management import get_torch_device_name, unet_dtype, unet_offload_device
from comfy.node_helpers import export_custom_nodes
from comfy.node_helpers import export_custom_nodes, export_package_as_web_directory
from comfy.nodes.package_typing import CustomNode, InputTypes, ValidatedNodeResult, Seed
_AUTO_CHAT_TEMPLATE = "default"
@ -422,3 +422,4 @@ class SaveString(CustomNode):
export_custom_nodes()
export_package_as_web_directory("comfy_extras.language_web")