mirror of
https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
synced 2025-01-06 15:15:05 +08:00
server individually listed javascript files vs single compiled file
This commit is contained in:
parent
17af0fb955
commit
50059ea661
@ -1919,47 +1919,41 @@ def create_ui():
|
|||||||
|
|
||||||
|
|
||||||
def reload_javascript():
|
def reload_javascript():
|
||||||
javascript_files = OrderedDict()
|
|
||||||
with open(os.path.join(script_path, "script.js"), "r", encoding="utf8") as jsfile:
|
|
||||||
contents = jsfile.read()
|
|
||||||
javascript_files["script.js"] = [contents]
|
|
||||||
|
|
||||||
scripts_list = modules.scripts.list_scripts("javascript", ".js")
|
scripts_list = modules.scripts.list_scripts("javascript", ".js")
|
||||||
|
js_files = []
|
||||||
for basedir, filename, path in scripts_list:
|
for basedir, filename, path in scripts_list:
|
||||||
with open(path, "r", encoding="utf8") as jsfile:
|
path = path[len(script_path) + 1:]
|
||||||
contents = jsfile.read()
|
js_files.append(path)
|
||||||
javascript_files[filename] = [contents]
|
|
||||||
|
|
||||||
|
inline = [f"{localization.localization_js(shared.opts.localization)};"]
|
||||||
if cmd_opts.theme is not None:
|
if cmd_opts.theme is not None:
|
||||||
javascript_files["theme.js"] = [f"set_theme('{cmd_opts.theme}');"]
|
inline.append(f"set_theme('{cmd_opts.theme}');", )
|
||||||
|
|
||||||
javascript_files["localization.js"] = [f"{localization.localization_js(shared.opts.localization)}"]
|
t = int(time.time())
|
||||||
|
head = [
|
||||||
compiled_name = "webui-compiled.js"
|
f"""
|
||||||
head = f"""
|
<script type="text/javascript" src="file=./script.js?{t}"></script>
|
||||||
<script src=/statica/{compiled_name}?{int(time.time())} type="text/javascript"></script>
|
""".strip()
|
||||||
"""
|
]
|
||||||
|
inline_code = "\n".join(inline)
|
||||||
|
head.append(f"""
|
||||||
|
<script type="text/javascript">
|
||||||
|
{inline_code}
|
||||||
|
</script>
|
||||||
|
""".strip())
|
||||||
|
for file in js_files:
|
||||||
|
head.append(f"""
|
||||||
|
<script type="text/javascript" src="file={file}?{t}"></script>
|
||||||
|
""".strip())
|
||||||
|
|
||||||
def template_response(*args, **kwargs):
|
def template_response(*args, **kwargs):
|
||||||
res = shared.GradioTemplateResponseOriginal(*args, **kwargs)
|
res = shared.GradioTemplateResponseOriginal(*args, **kwargs)
|
||||||
|
head_inject = "\n".join(head)
|
||||||
res.body = res.body.replace(
|
res.body = res.body.replace(
|
||||||
b'</head>', f'{head}</head>'.encode("utf8"))
|
b'</head>', f'{head_inject}</head>'.encode("utf8"))
|
||||||
res.init_headers()
|
res.init_headers()
|
||||||
return res
|
return res
|
||||||
|
|
||||||
for k in javascript_files:
|
|
||||||
javascript_files[k] = "\n".join(javascript_files[k])
|
|
||||||
|
|
||||||
# make static_path if not exists
|
|
||||||
statica_path = os.path.join(script_path, 'statica')
|
|
||||||
if not os.path.exists(statica_path):
|
|
||||||
os.mkdir(statica_path)
|
|
||||||
|
|
||||||
javascript_out = "\n\n\n".join([f"// <!-- {k} -->\n\n{v}" for k, v in javascript_files.items()])
|
|
||||||
with open(os.path.join(script_path, "statica", compiled_name), "w", encoding="utf8") as jsfile:
|
|
||||||
jsfile.write(javascript_out)
|
|
||||||
|
|
||||||
gradio.routes.templates.TemplateResponse = template_response
|
gradio.routes.templates.TemplateResponse = template_response
|
||||||
|
|
||||||
|
|
||||||
|
@ -1 +0,0 @@
|
|||||||
ayo
|
|
2
webui.py
2
webui.py
@ -8,7 +8,6 @@ import re
|
|||||||
from fastapi import FastAPI
|
from fastapi import FastAPI
|
||||||
from fastapi.middleware.cors import CORSMiddleware
|
from fastapi.middleware.cors import CORSMiddleware
|
||||||
from fastapi.middleware.gzip import GZipMiddleware
|
from fastapi.middleware.gzip import GZipMiddleware
|
||||||
from starlette.staticfiles import StaticFiles
|
|
||||||
|
|
||||||
from modules import import_hook, errors, extra_networks
|
from modules import import_hook, errors, extra_networks
|
||||||
from modules import extra_networks_hypernet, ui_extra_networks_hypernets, ui_extra_networks_textual_inversion
|
from modules import extra_networks_hypernet, ui_extra_networks_hypernets, ui_extra_networks_textual_inversion
|
||||||
@ -196,7 +195,6 @@ def webui():
|
|||||||
setup_cors(app)
|
setup_cors(app)
|
||||||
|
|
||||||
app.add_middleware(GZipMiddleware, minimum_size=1000)
|
app.add_middleware(GZipMiddleware, minimum_size=1000)
|
||||||
app.mount("/statica", StaticFiles(directory=os.path.join(script_path, 'statica')), name="statica")
|
|
||||||
|
|
||||||
modules.progress.setup_progress_api(app)
|
modules.progress.setup_progress_api(app)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user