import os
from flask import url_for
from website.content import ContentApplet
# FIXME: Implement preload support !
def render_applet_head(applet_data: ContentApplet, is_standalone: bool = False) -> str:
applet_style_html = ""
for applet_style in applet_data.resources.stylesheets:
rsc_path = None
if is_standalone:
if not applet_style.can_be_standalone():
continue
if applet_style.is_applet():
rsc_path = os.path.join(
"./static/resources/NibblePoker/applets/",
applet_data.id,
applet_style.get_clean_path())
# print(applet_style)
elif applet_style.is_standalone():
rsc_path = os.path.join(
"./static/resources/Standalone/",
applet_style.get_clean_path())
if rsc_path is not None:
with open(rsc_path) as applet_style_file:
applet_style_html += ""
else:
if applet_style.is_applet():
rsc_path = url_for(
"static",
filename="/resources/NibblePoker/applets/" +
applet_data.id + "/" +
applet_style.get_clean_path())
elif applet_style.is_remote():
rsc_path = applet_style.raw_uri
if rsc_path is not None:
applet_style_html += f""
return applet_style_html
def render_applet_scripts(applet_data: ContentApplet, is_standalone: bool = False):
applet_script_html = ""
for applet_script in applet_data.resources.scripts:
rsc_path = None
if is_standalone:
if not applet_script.can_be_standalone():
continue
if applet_script.is_applet():
rsc_path = os.path.join(
"./static/resources/NibblePoker/applets/",
applet_data.id,
applet_script.get_clean_path())
rsc_path = rsc_path.replace(".mjs", ".min.js")
elif applet_script.is_standalone():
rsc_path = os.path.join(
"./static/resources/Standalone/",
applet_script.get_clean_path())
if rsc_path is not None:
with open(rsc_path) as applet_script_file:
applet_script_html += ""
else:
if applet_script.is_applet():
rsc_path = url_for(
"static",
filename="/resources/NibblePoker/applets/" +
applet_data.id + "/" +
applet_script.get_clean_path())
elif applet_script.is_remote():
rsc_path = applet_script.raw_uri
if rsc_path is not None:
applet_script_html += f""
return applet_script_html