Path: blob/master/modules/gradio_extensons.py
3055 views
import gradio as gr12from modules import scripts, ui_tempdir, patches345def add_classes_to_gradio_component(comp):6"""7this adds gradio-* to the component for css styling (ie gradio-button to gr.Button), as well as some others8"""910comp.elem_classes = [f"gradio-{comp.get_block_name()}", *(comp.elem_classes or [])]1112if getattr(comp, 'multiselect', False):13comp.elem_classes.append('multiselect')141516def IOComponent_init(self, *args, **kwargs):17self.webui_tooltip = kwargs.pop('tooltip', None)1819if scripts.scripts_current is not None:20scripts.scripts_current.before_component(self, **kwargs)2122scripts.script_callbacks.before_component_callback(self, **kwargs)2324res = original_IOComponent_init(self, *args, **kwargs)2526add_classes_to_gradio_component(self)2728scripts.script_callbacks.after_component_callback(self, **kwargs)2930if scripts.scripts_current is not None:31scripts.scripts_current.after_component(self, **kwargs)3233return res343536def Block_get_config(self):37config = original_Block_get_config(self)3839webui_tooltip = getattr(self, 'webui_tooltip', None)40if webui_tooltip:41config["webui_tooltip"] = webui_tooltip4243config.pop('example_inputs', None)4445return config464748def BlockContext_init(self, *args, **kwargs):49if scripts.scripts_current is not None:50scripts.scripts_current.before_component(self, **kwargs)5152scripts.script_callbacks.before_component_callback(self, **kwargs)5354res = original_BlockContext_init(self, *args, **kwargs)5556add_classes_to_gradio_component(self)5758scripts.script_callbacks.after_component_callback(self, **kwargs)5960if scripts.scripts_current is not None:61scripts.scripts_current.after_component(self, **kwargs)6263return res646566def Blocks_get_config_file(self, *args, **kwargs):67config = original_Blocks_get_config_file(self, *args, **kwargs)6869for comp_config in config["components"]:70if "example_inputs" in comp_config:71comp_config["example_inputs"] = {"serialized": []}7273return config747576original_IOComponent_init = patches.patch(__name__, obj=gr.components.IOComponent, field="__init__", replacement=IOComponent_init)77original_Block_get_config = patches.patch(__name__, obj=gr.blocks.Block, field="get_config", replacement=Block_get_config)78original_BlockContext_init = patches.patch(__name__, obj=gr.blocks.BlockContext, field="__init__", replacement=BlockContext_init)79original_Blocks_get_config_file = patches.patch(__name__, obj=gr.blocks.Blocks, field="get_config_file", replacement=Blocks_get_config_file)808182ui_tempdir.install_ui_tempdir_override()838485