mirror of
https://github.com/comfyanonymous/ComfyUI.git
synced 2025-12-18 18:43:05 +08:00
Remove refrences to resources feature scrapped from V3
This commit is contained in:
parent
f3c27d6892
commit
ba13d10d82
@ -10,7 +10,6 @@ from ._input_impl import VideoFromFile, VideoFromComponents
|
|||||||
from ._util import VideoCodec, VideoContainer, VideoComponents, MESH, VOXEL
|
from ._util import VideoCodec, VideoContainer, VideoComponents, MESH, VOXEL
|
||||||
from . import _io_public as io
|
from . import _io_public as io
|
||||||
from . import _ui_public as ui
|
from . import _ui_public as ui
|
||||||
# from comfy_api.latest._resources import _RESOURCES as resources #noqa: F401
|
|
||||||
from comfy_execution.utils import get_executing_context
|
from comfy_execution.utils import get_executing_context
|
||||||
from comfy_execution.progress import get_progress_state, PreviewImageTuple
|
from comfy_execution.progress import get_progress_state, PreviewImageTuple
|
||||||
from PIL import Image
|
from PIL import Image
|
||||||
|
|||||||
@ -26,7 +26,6 @@ if TYPE_CHECKING:
|
|||||||
from comfy_api.input import VideoInput
|
from comfy_api.input import VideoInput
|
||||||
from comfy_api.internal import (_ComfyNodeInternal, _NodeOutputInternal, classproperty, copy_class, first_real_override, is_class,
|
from comfy_api.internal import (_ComfyNodeInternal, _NodeOutputInternal, classproperty, copy_class, first_real_override, is_class,
|
||||||
prune_dict, shallow_clone_class)
|
prune_dict, shallow_clone_class)
|
||||||
from ._resources import Resources, ResourcesLocal
|
|
||||||
from comfy_execution.graph_utils import ExecutionBlocker
|
from comfy_execution.graph_utils import ExecutionBlocker
|
||||||
from ._util import MESH, VOXEL
|
from ._util import MESH, VOXEL
|
||||||
|
|
||||||
@ -1487,7 +1486,6 @@ class _ComfyNodeBaseInternal(_ComfyNodeInternal):
|
|||||||
SCHEMA = None
|
SCHEMA = None
|
||||||
|
|
||||||
# filled in during execution
|
# filled in during execution
|
||||||
resources: Resources = None
|
|
||||||
hidden: HiddenHolder = None
|
hidden: HiddenHolder = None
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
@ -1534,7 +1532,6 @@ class _ComfyNodeBaseInternal(_ComfyNodeInternal):
|
|||||||
return [name for name in kwargs if kwargs[name] is None]
|
return [name for name in kwargs if kwargs[name] is None]
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.local_resources: ResourcesLocal = None
|
|
||||||
self.__class__.VALIDATE_CLASS()
|
self.__class__.VALIDATE_CLASS()
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
|
|||||||
@ -1,72 +0,0 @@
|
|||||||
from __future__ import annotations
|
|
||||||
import comfy.utils
|
|
||||||
import folder_paths
|
|
||||||
import logging
|
|
||||||
from abc import ABC, abstractmethod
|
|
||||||
from typing import Any
|
|
||||||
import torch
|
|
||||||
|
|
||||||
class ResourceKey(ABC):
|
|
||||||
Type = Any
|
|
||||||
def __init__(self):
|
|
||||||
...
|
|
||||||
|
|
||||||
class TorchDictFolderFilename(ResourceKey):
|
|
||||||
'''Key for requesting a torch file via file_name from a folder category.'''
|
|
||||||
Type = dict[str, torch.Tensor]
|
|
||||||
def __init__(self, folder_name: str, file_name: str):
|
|
||||||
self.folder_name = folder_name
|
|
||||||
self.file_name = file_name
|
|
||||||
|
|
||||||
def __hash__(self):
|
|
||||||
return hash((self.folder_name, self.file_name))
|
|
||||||
|
|
||||||
def __eq__(self, other: object) -> bool:
|
|
||||||
if not isinstance(other, TorchDictFolderFilename):
|
|
||||||
return False
|
|
||||||
return self.folder_name == other.folder_name and self.file_name == other.file_name
|
|
||||||
|
|
||||||
def __str__(self):
|
|
||||||
return f"{self.folder_name} -> {self.file_name}"
|
|
||||||
|
|
||||||
class Resources(ABC):
|
|
||||||
def __init__(self):
|
|
||||||
...
|
|
||||||
|
|
||||||
@abstractmethod
|
|
||||||
def get(self, key: ResourceKey, default: Any=...) -> Any:
|
|
||||||
pass
|
|
||||||
|
|
||||||
class ResourcesLocal(Resources):
|
|
||||||
def __init__(self):
|
|
||||||
super().__init__()
|
|
||||||
self.local_resources: dict[ResourceKey, Any] = {}
|
|
||||||
|
|
||||||
def get(self, key: ResourceKey, default: Any=...) -> Any:
|
|
||||||
cached = self.local_resources.get(key, None)
|
|
||||||
if cached is not None:
|
|
||||||
logging.info(f"Using cached resource '{key}'")
|
|
||||||
return cached
|
|
||||||
logging.info(f"Loading resource '{key}'")
|
|
||||||
to_return = None
|
|
||||||
if isinstance(key, TorchDictFolderFilename):
|
|
||||||
if default is ...:
|
|
||||||
to_return = comfy.utils.load_torch_file(folder_paths.get_full_path_or_raise(key.folder_name, key.file_name), safe_load=True)
|
|
||||||
else:
|
|
||||||
full_path = folder_paths.get_full_path(key.folder_name, key.file_name)
|
|
||||||
if full_path is not None:
|
|
||||||
to_return = comfy.utils.load_torch_file(full_path, safe_load=True)
|
|
||||||
|
|
||||||
if to_return is not None:
|
|
||||||
self.local_resources[key] = to_return
|
|
||||||
return to_return
|
|
||||||
if default is not ...:
|
|
||||||
return default
|
|
||||||
raise Exception(f"Unsupported resource key type: {type(key)}")
|
|
||||||
|
|
||||||
|
|
||||||
class _RESOURCES:
|
|
||||||
ResourceKey = ResourceKey
|
|
||||||
TorchDictFolderFilename = TorchDictFolderFilename
|
|
||||||
Resources = Resources
|
|
||||||
ResourcesLocal = ResourcesLocal
|
|
||||||
@ -257,7 +257,7 @@ async def _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, f
|
|||||||
pre_execute_cb(index)
|
pre_execute_cb(index)
|
||||||
# V3
|
# V3
|
||||||
if isinstance(obj, _ComfyNodeInternal) or (is_class(obj) and issubclass(obj, _ComfyNodeInternal)):
|
if isinstance(obj, _ComfyNodeInternal) or (is_class(obj) and issubclass(obj, _ComfyNodeInternal)):
|
||||||
# if is just a class, then assign no resources or state, just create clone
|
# if is just a class, then assign no state, just create clone
|
||||||
if is_class(obj):
|
if is_class(obj):
|
||||||
type_obj = obj
|
type_obj = obj
|
||||||
obj.VALIDATE_CLASS()
|
obj.VALIDATE_CLASS()
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user