Skip to content

Commit

Permalink
Use relative path for custom/extra node module name (#3944)
Browse files Browse the repository at this point in the history
* Fix module name for comfy extra nodes

* Use module name relative to root dir
  • Loading branch information
huchenlei committed Jul 5, 2024
1 parent 739b766 commit 0e3dfd9
Showing 1 changed file with 26 additions and 4 deletions.
30 changes: 26 additions & 4 deletions nodes.py
Original file line number Diff line number Diff line change
Expand Up @@ -1887,11 +1887,33 @@ def expand_image(self, image, left, top, right, bottom, feathering):

EXTENSION_WEB_DIRS = {}

def load_custom_node(module_path, ignore=set()):
module_name = os.path.basename(module_path)

def get_module_name(module_path: str) -> str:
"""
Returns the module name based on the given module path.
Examples:
get_module_name("C:/Users/username/ComfyUI/custom_nodes/my_custom_node.py") -> "custom_nodes.my_custom_node"
get_module_name("C:/Users/username/ComfyUI/custom_nodes/my_custom_node") -> "custom_nodes.my_custom_node"
get_module_name("C:/Users/username/ComfyUI/custom_nodes/my_custom_node/") -> "custom_nodes.my_custom_node"
get_module_name("C:/Users/username/ComfyUI/custom_nodes/my_custom_node/__init__.py") -> "custom_nodes.my_custom_node"
get_module_name("C:/Users/username/ComfyUI/custom_nodes/my_custom_node/__init__") -> "custom_nodes.my_custom_node"
get_module_name("C:/Users/username/ComfyUI/custom_nodes/my_custom_node/__init__/") -> "custom_nodes.my_custom_node"
get_module_name("C:/Users/username/ComfyUI/custom_nodes/my_custom_node.disabled") -> "custom_nodes.my
Args:
module_path (str): The path of the module.
Returns:
str: The module name.
"""
relative_path = os.path.relpath(module_path, folder_paths.base_path)
if os.path.isfile(module_path):
sp = os.path.splitext(module_path)
module_name = sp[0]
relative_path = os.path.splitext(relative_path)[0]
return relative_path.replace(os.sep, '.')


def load_custom_node(module_path, ignore=set()):
module_name = get_module_name(module_path)
try:
logging.debug("Trying to load custom node {}".format(module_path))
if os.path.isfile(module_path):
Expand Down

0 comments on commit 0e3dfd9

Please sign in to comment.