diff --git a/themes/contrast.py b/themes/contrast.py index d407d92..bf48808 100644 --- a/themes/contrast.py +++ b/themes/contrast.py @@ -1,6 +1,8 @@ +import os import gradio as gr from toolbox import get_conf CODE_HIGHLIGHT, ADD_WAIFU, LAYOUT = get_conf('CODE_HIGHLIGHT', 'ADD_WAIFU', 'LAYOUT') +theme_dir = os.path.dirname(__file__) def adjust_theme(): @@ -57,7 +59,7 @@ def adjust_theme(): button_cancel_text_color_dark="white", ) - with open('themes/common.js', 'r', encoding='utf8') as f: + with open(os.path.join(theme_dir, 'common.js'), 'r', encoding='utf8') as f: js = f"" # 添加一个萌萌的看板娘 @@ -67,7 +69,9 @@ def adjust_theme(): """ - gradio_original_template_fn = gr.routes.templates.TemplateResponse + if not hasattr(gr, 'RawTemplateResponse'): + gr.RawTemplateResponse = gr.routes.templates.TemplateResponse + gradio_original_template_fn = gr.RawTemplateResponse def gradio_new_template_fn(*args, **kwargs): res = gradio_original_template_fn(*args, **kwargs) res.body = res.body.replace(b'', f'{js}'.encode("utf8")) @@ -79,7 +83,7 @@ def adjust_theme(): print('gradio版本较旧, 不能自定义字体和颜色') return set_theme -with open("themes/contrast.css", "r", encoding="utf-8") as f: +with open(os.path.join(theme_dir, 'contrast.css'), "r", encoding="utf-8") as f: advanced_css = f.read() -with open("themes/common.css", "r", encoding="utf-8") as f: +with open(os.path.join(theme_dir, 'common.css'), "r", encoding="utf-8") as f: advanced_css += f.read() diff --git a/themes/default.py b/themes/default.py index 6fa2ba5..64b6720 100644 --- a/themes/default.py +++ b/themes/default.py @@ -60,7 +60,7 @@ def adjust_theme(): with open(os.path.join(theme_dir, 'common.js'), 'r', encoding='utf8') as f: js = f"" - + # 添加一个萌萌的看板娘 if ADD_WAIFU: js += """ @@ -68,7 +68,9 @@ def adjust_theme(): """ - gradio_original_template_fn = gr.routes.templates.TemplateResponse + if not hasattr(gr, 'RawTemplateResponse'): + gr.RawTemplateResponse = gr.routes.templates.TemplateResponse + gradio_original_template_fn = gr.RawTemplateResponse def gradio_new_template_fn(*args, **kwargs): res = gradio_original_template_fn(*args, **kwargs) res.body = res.body.replace(b'', f'{js}'.encode("utf8")) diff --git a/themes/gradios.py b/themes/gradios.py index 96a9c54..9db1341 100644 --- a/themes/gradios.py +++ b/themes/gradios.py @@ -1,7 +1,9 @@ -import gradio as gr import logging +import os +import gradio as gr from toolbox import get_conf, ProxyNetworkActivate CODE_HIGHLIGHT, ADD_WAIFU, LAYOUT = get_conf('CODE_HIGHLIGHT', 'ADD_WAIFU', 'LAYOUT') +theme_dir = os.path.dirname(__file__) def dynamic_set_theme(THEME): set_theme = gr.themes.ThemeClass() @@ -13,7 +15,6 @@ def dynamic_set_theme(THEME): return set_theme def adjust_theme(): - try: set_theme = gr.themes.ThemeClass() with ProxyNetworkActivate('Download_Gradio_Theme'): @@ -23,7 +24,7 @@ def adjust_theme(): 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: + with open(os.path.join(theme_dir, 'common.js'), 'r', encoding='utf8') as f: js = f"" # 添加一个萌萌的看板娘 @@ -33,7 +34,9 @@ def adjust_theme(): """ - gradio_original_template_fn = gr.routes.templates.TemplateResponse + if not hasattr(gr, 'RawTemplateResponse'): + gr.RawTemplateResponse = gr.routes.templates.TemplateResponse + gradio_original_template_fn = gr.RawTemplateResponse def gradio_new_template_fn(*args, **kwargs): res = gradio_original_template_fn(*args, **kwargs) res.body = res.body.replace(b'', f'{js}'.encode("utf8")) @@ -46,7 +49,5 @@ def adjust_theme(): 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: +with open(os.path.join(theme_dir, 'common.css'), "r", encoding="utf-8") as f: advanced_css = f.read() diff --git a/themes/green.py b/themes/green.py index a29a0fa..326981e 100644 --- a/themes/green.py +++ b/themes/green.py @@ -1,6 +1,8 @@ +import os import gradio as gr from toolbox import get_conf CODE_HIGHLIGHT, ADD_WAIFU, LAYOUT = get_conf('CODE_HIGHLIGHT', 'ADD_WAIFU', 'LAYOUT') +theme_dir = os.path.dirname(__file__) def adjust_theme(): try: @@ -73,7 +75,7 @@ def adjust_theme(): chatbot_code_background_color_dark="*neutral_950", ) - with open('themes/common.js', 'r', encoding='utf8') as f: + with open(os.path.join(theme_dir, 'common.js'), 'r', encoding='utf8') as f: js = f"" # 添加一个萌萌的看板娘 @@ -83,11 +85,13 @@ def adjust_theme(): """ - - with open('themes/green.js', 'r', encoding='utf8') as f: + + with open(os.path.join(theme_dir, 'green.js'), 'r', encoding='utf8') as f: js += f"" - - gradio_original_template_fn = gr.routes.templates.TemplateResponse + + if not hasattr(gr, 'RawTemplateResponse'): + gr.RawTemplateResponse = gr.routes.templates.TemplateResponse + gradio_original_template_fn = gr.RawTemplateResponse def gradio_new_template_fn(*args, **kwargs): res = gradio_original_template_fn(*args, **kwargs) res.body = res.body.replace(b'', f'{js}'.encode("utf8")) @@ -99,8 +103,7 @@ def adjust_theme(): print('gradio版本较旧, 不能自定义字体和颜色') return set_theme - -with open("themes/green.css", "r", encoding="utf-8") as f: +with open(os.path.join(theme_dir, 'green.css'), "r", encoding="utf-8") as f: advanced_css = f.read() -with open("themes/common.css", "r", encoding="utf-8") as f: +with open(os.path.join(theme_dir, 'common.css'), "r", encoding="utf-8") as f: advanced_css += f.read()