mirror of
https://github.com/comfyanonymous/ComfyUI.git
synced 2026-01-11 23:00:51 +08:00
23 lines
591 B
Python
23 lines
591 B
Python
import sys
|
|
|
|
|
|
def module_property(func):
|
|
"""Decorator to turn module functions into properties.
|
|
Function names must be prefixed with an underscore."""
|
|
module = sys.modules[func.__module__]
|
|
|
|
def base_getattr(name):
|
|
raise AttributeError(
|
|
f"module '{module.__name__}' has no attribute '{name}'")
|
|
|
|
old_getattr = getattr(module, '__getattr__', base_getattr)
|
|
|
|
def new_getattr(name):
|
|
if f'_{name}' == func.__name__:
|
|
return func()
|
|
else:
|
|
return old_getattr(name)
|
|
|
|
module.__getattr__ = new_getattr
|
|
return func
|