Source code for pychum.engine.orca._renderer

import os

from jinja2 import Environment, FileSystemLoader, select_autoescape

from pychum.engine.orca._dataclasses import OrcaConfig


[docs] class OrcaInputRenderer: def __init__(self, config: OrcaConfig):
[docs] self.config = config
# Determine the package path to access the templates package_path = os.path.dirname(os.path.abspath(__file__)) template_dir = os.path.join(package_path, "_blocks")
[docs] self.env = Environment( loader=FileSystemLoader(template_dir), autoescape=select_autoescape(enabled_extensions=("toml")), )
self.env.trim_blocks = True self.env.lstrip_blocks = True self.env.rstrip_blocks = True
[docs] def render(self, template_name: str): template = self.env.get_template(template_name) context = { "config": self.config, } return template.render(context).replace("\n\n", "\n")