Commit 30aa5e0a authored by AUTOMATIC1111's avatar AUTOMATIC1111 Committed by GitHub

Merge pull request #14560 from Nuullll/condfunc-warning

Handle CondFunc exception when resolving attributes
parents cab1d839 ec9acb31
...@@ -11,10 +11,14 @@ class CondFunc: ...@@ -11,10 +11,14 @@ class CondFunc:
break break
except ImportError: except ImportError:
pass pass
try:
for attr_name in func_path[i:-1]: for attr_name in func_path[i:-1]:
resolved_obj = getattr(resolved_obj, attr_name) resolved_obj = getattr(resolved_obj, attr_name)
orig_func = getattr(resolved_obj, func_path[-1]) orig_func = getattr(resolved_obj, func_path[-1])
setattr(resolved_obj, func_path[-1], lambda *args, **kwargs: self(*args, **kwargs)) setattr(resolved_obj, func_path[-1], lambda *args, **kwargs: self(*args, **kwargs))
except AttributeError:
print(f"Warning: Failed to resolve {orig_func} for CondFunc hijack")
pass
self.__init__(orig_func, sub_func, cond_func) self.__init__(orig_func, sub_func, cond_func)
return lambda *args, **kwargs: self(*args, **kwargs) return lambda *args, **kwargs: self(*args, **kwargs)
def __init__(self, orig_func, sub_func, cond_func): def __init__(self, orig_func, sub_func, cond_func):
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment