From 2cad8e2694aac200097b3cda0dc524e702220bb7 Mon Sep 17 00:00:00 2001 From: qingxu fu <505030475@qq.com> Date: Sun, 17 Sep 2023 00:15:28 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=AF=E6=8C=81=E5=8A=A8=E6=80=81=E5=88=87?= =?UTF-8?q?=E6=8D=A2=E4=B8=BB=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.py | 7 +++++-- themes/gradios.py | 9 +++++++++ themes/theme.py | 7 +++++-- 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/main.py b/main.py index 5d2d46d..6c94e03 100644 --- a/main.py +++ b/main.py @@ -206,8 +206,11 @@ def main(): md_dropdown.select(on_md_dropdown_changed, [md_dropdown], [chatbot] ) def on_theme_dropdown_changed(theme, secret_css): - adjust_theme, css_part1, _ = load_dynamic_theme(theme) - css_part2 = adjust_theme()._get_theme_css() + adjust_theme, css_part1, _, adjust_dynamic_theme = load_dynamic_theme(theme) + if adjust_dynamic_theme: + css_part2 = adjust_dynamic_theme._get_theme_css() + else: + css_part2 = adjust_theme()._get_theme_css() return css_part2 + css_part1 theme_handle = theme_dropdown.select(on_theme_dropdown_changed, [theme_dropdown, secret_css], [secret_css]) diff --git a/themes/gradios.py b/themes/gradios.py index 8b661a5..acabf75 100644 --- a/themes/gradios.py +++ b/themes/gradios.py @@ -3,6 +3,15 @@ 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(): + 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: diff --git a/themes/theme.py b/themes/theme.py index 8aecd17..42ee750 100644 --- a/themes/theme.py +++ b/themes/theme.py @@ -3,6 +3,7 @@ from toolbox import get_conf THEME, = get_conf('THEME') def load_dynamic_theme(THEME): + adjust_dynamic_theme = None if THEME == 'Chuanhu-Small-and-Beautiful': from .green import adjust_theme, advanced_css theme_declaration = "