Allow node to be used with ComfyUI extension for A1111 web ui
This commit is contained in:
+25
-3
@@ -2,16 +2,38 @@ import sys
|
||||
import os
|
||||
repo_dir = os.path.dirname(os.path.realpath(__file__))
|
||||
sys.path.insert(0, repo_dir)
|
||||
modules = sys.modules.copy()
|
||||
from .nodes import NODE_CLASS_MAPPINGS, NODE_DISPLAY_NAME_MAPPINGS
|
||||
original_modules = sys.modules.copy()
|
||||
|
||||
# Place aside existing modules if using a1111 web ui
|
||||
modules_used = [
|
||||
"modules",
|
||||
"modules.face_restoration",
|
||||
"modules.images",
|
||||
"modules.processing",
|
||||
"modules.scripts_postprocessing",
|
||||
"modules.scripts",
|
||||
"modules.shared",
|
||||
"modules.upscaler"
|
||||
]
|
||||
original_webui_modules = {}
|
||||
for module in modules_used:
|
||||
if module in sys.modules:
|
||||
original_webui_modules[module] = sys.modules.pop(module)
|
||||
|
||||
# Proceed with node setup
|
||||
from .nodes import NODE_CLASS_MAPPINGS, NODE_DISPLAY_NAME_MAPPINGS
|
||||
__all__ = ["NODE_CLASS_MAPPINGS", "NODE_DISPLAY_NAME_MAPPINGS"]
|
||||
|
||||
# Clean up imports
|
||||
# Remove repo directory from path
|
||||
sys.path.remove(repo_dir)
|
||||
# Remove any new modules
|
||||
modules_to_remove = []
|
||||
for module in sys.modules:
|
||||
if module not in modules:
|
||||
if module not in original_modules:
|
||||
modules_to_remove.append(module)
|
||||
for module in modules_to_remove:
|
||||
del sys.modules[module]
|
||||
|
||||
# Restore original modules
|
||||
sys.modules.update(original_webui_modules)
|
||||
|
||||
Reference in New Issue
Block a user