Files
homelab_gamevault/jinja_helper.py
2024-04-15 00:28:50 +02:00

31 lines
874 B
Python

import jinja2
import os
def render_path(path, install_location, game_directory):
# sanity check input path #
if not path.endswith(".reg.j2"):
raise NotImplementedError("Path must end in .reg.j2 for Jinja-Module")
# build result path #
result_path = path[:-len(".j2")]
# prepare template #
input_content = ""
with open(path, encoding="utf-16") as f:
input_content = f.read()
template = jinja2.Template(input_content)
print("in", input_content)
# render #
output_content = template.render(
install_dir=os.path.join(install_location, game_directory).replace("\\", "\\\\"),
user_home=os.path.expanduser("~").replace("\\", "\\\\")
)
# save new file #
with open(result_path, "w", encoding="utf-16") as f:
f.write(output_content)
print(output_content)
return result_path