import os | |
import gradio as gr | |
import kohya_gui.localization as localization | |
def file_path(fn): | |
return f"file={os.path.abspath(fn)}?{os.path.getmtime(fn)}" | |
def js_html_str(language): | |
head = f'<script type="text/javascript">{localization.load_language_js(language)}</script>\n' | |
head += ( | |
f'<script type="text/javascript">{open("./assets/js/script.js", "r", encoding="utf-8").read()}</script>\n' | |
) | |
head += f'<script type="text/javascript">{open("./assets/js/localization.js", "r", encoding="utf-8").read()}</script>\n' | |
return head | |
def add_javascript(language): | |
if language is None: | |
# print('no language') | |
return | |
jsStr = js_html_str(language) | |
def template_response(*args, **kwargs): | |
res = localization.GrRoutesTemplateResponse(*args, **kwargs) | |
res.body = res.body.replace(b"</head>", f"{jsStr}</head>".encode("utf-8")) | |
res.init_headers() | |
return res | |
gr.routes.templates.TemplateResponse = template_response | |
if not hasattr(localization, "GrRoutesTemplateResponse"): | |
localization.GrRoutesTemplateResponse = gr.routes.templates.TemplateResponse | |