1#!/usr/bin/env python3 2# Copyright 2020 Google LLC 3# 4# Licensed under the Apache License, Version 2.0 (the "License"); 5# you may not use this file except in compliance with the License. 6# You may obtain a copy of the License at 7# 8# http://www.apache.org/licenses/LICENSE-2.0 9# 10# Unless required by applicable law or agreed to in writing, software 11# distributed under the License is distributed on an "AS IS" BASIS, 12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13# See the License for the specific language governing permissions and 14# limitations under the License. 15 16from jinja2 import Environment, FileSystemLoader 17import os 18import pathlib 19from typing import List 20 21root_directory = pathlib.Path( 22 os.path.realpath(os.path.dirname(os.path.realpath(__file__))) 23) 24print(root_directory) 25jinja_env = Environment(loader=FileSystemLoader(str(root_directory / "templates"))) 26 27 28def render(template_name: str, output_name: str, **kwargs): 29 template = jinja_env.get_template(template_name) 30 t = template.stream(kwargs) 31 directory = os.path.dirname(output_name) 32 if not os.path.isdir(directory): 33 os.makedirs(directory) 34 t.dump(str(output_name)) 35