Use relative path for custom/extra node module name (#3944)
* Fix module name for comfy extra nodes * Use module name relative to root dir
This commit is contained in:
parent
739b76630e
commit
0e3dfd9e34
30
nodes.py
30
nodes.py
|
@ -1887,11 +1887,33 @@ NODE_DISPLAY_NAME_MAPPINGS = {
|
|||
|
||||
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):
|
||||
|
|
Loading…
Reference in New Issue