from typing import Dict
from jinja2 import Environment, FileSystemLoader

def render_template_to_sql(search_path,template_file,dest_sql,data:Dict):
    """
    :param search_path:    需要搜索的模板文件目录
    :param template_file:  模板文件名
    :param dest_sql:       渲染之后的数据要写入的文件路径,生成的文件用于DAG执行
    :param data:            是一个字典，需要在模板中渲染使用的数据
    :return:
    """
    env = Environment(loader=FileSystemLoader(search_path),trim_blocks=True,lstrip_blocks=True)
    template = env.get_template(template_file)
    template_data = template.render(data)
    with open(dest_sql, "w+") as fd:
        fd.write(template_data)