import gradio as gr import logging from toolbox import get_conf, ProxyNetworkActivate CODE_HIGHLIGHT, ADD_WAIFU, LAYOUT = get_conf('CODE_HIGHLIGHT', 'ADD_WAIFU', 'LAYOUT') def dynamic_set_theme(THEME): set_theme = gr.themes.ThemeClass() with ProxyNetworkActivate('Download_Gradio_Theme'): logging.info('正在下载Gradio主题,请稍等。') if THEME.startswith('Huggingface-'): THEME = THEME.lstrip('Huggingface-') if THEME.startswith('huggingface-'): THEME = THEME.lstrip('huggingface-') set_theme = set_theme.from_hub(THEME.lower()) return set_theme def adjust_theme(): try: set_theme = gr.themes.ThemeClass() with ProxyNetworkActivate('Download_Gradio_Theme'): logging.info('正在下载Gradio主题,请稍等。') THEME = get_conf('THEME') if THEME.startswith('Huggingface-'): THEME = THEME.lstrip('Huggingface-') if THEME.startswith('huggingface-'): THEME = THEME.lstrip('huggingface-') set_theme = set_theme.from_hub(THEME.lower()) with open('themes/common.js', 'r', encoding='utf8') as f: js = f"" # 添加一个萌萌的看板娘 if ADD_WAIFU: js += """ """ gradio_original_template_fn = gr.routes.templates.TemplateResponse def gradio_new_template_fn(*args, **kwargs): res = gradio_original_template_fn(*args, **kwargs) res.body = res.body.replace(b'', f'{js}'.encode("utf8")) res.init_headers() return res gr.routes.templates.TemplateResponse = gradio_new_template_fn # override gradio template except Exception as e: set_theme = None from toolbox import trimmed_format_exc logging.error('gradio版本较旧, 不能自定义字体和颜色:', trimmed_format_exc()) return set_theme # with open("themes/default.css", "r", encoding="utf-8") as f: # advanced_css = f.read() with open("themes/common.css", "r", encoding="utf-8") as f: advanced_css = f.read()