Spaces:
Runtime error
Runtime error
| ''' | |
| Copied from: https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/14184 | |
| ''' | |
| import inspect | |
| import warnings | |
| from functools import wraps | |
| import gradio as gr | |
| class GradioDeprecationWarning(DeprecationWarning): | |
| pass | |
| def repair(grclass): | |
| if not getattr(grclass, 'EVENTS', None): | |
| return | |
| def __repaired_init__(self, *args, tooltip=None, source=None, original=grclass.__init__, **kwargs): | |
| if source: | |
| kwargs["sources"] = [source] | |
| allowed_kwargs = inspect.signature(original).parameters | |
| fixed_kwargs = {} | |
| for k, v in kwargs.items(): | |
| if k in allowed_kwargs: | |
| fixed_kwargs[k] = v | |
| else: | |
| warnings.warn(f"unexpected argument for {grclass.__name__}: {k}", GradioDeprecationWarning, stacklevel=2) | |
| original(self, *args, **fixed_kwargs) | |
| self.webui_tooltip = tooltip | |
| for event in self.EVENTS: | |
| replaced_event = getattr(self, str(event)) | |
| def fun(*xargs, _js=None, replaced_event=replaced_event, **xkwargs): | |
| if _js: | |
| xkwargs['js'] = _js | |
| return replaced_event(*xargs, **xkwargs) | |
| setattr(self, str(event), fun) | |
| grclass.__init__ = __repaired_init__ | |
| grclass.update = gr.update | |
| for component in set(gr.components.__all__ + gr.layouts.__all__): | |
| repair(getattr(gr, component, None)) | |
| class Dependency(gr.events.Dependency): | |
| def __init__(self, *args, **kwargs): | |
| super().__init__(*args, **kwargs) | |
| def then(*xargs, _js=None, **xkwargs): | |
| if _js: | |
| xkwargs['js'] = _js | |
| return original_then(*xargs, **xkwargs) | |
| original_then = self.then | |
| self.then = then | |
| gr.events.Dependency = Dependency | |
| gr.Box = gr.Group | |