Source code for analyzer.utils.yamlload
import jinja2
try:
from yaml import CLoader as Loader
except ImportError:
from yaml import Loader
import yaml
from pathlib import Path
import rich
from jinja2 import nodes
from jinja2.ext import Extension
from jinja2.lexer import count_newlines
from jinja2.lexer import Token
import re
[docs]
def makeEnv(path):
return jinja2.Environment(
loader=jinja2.FileSystemLoader([path.parent, path.parent.parent])
)
[docs]
def loadAndRender(path):
env = makeEnv(path)
template = env.get_template(path.name)
return template.render()
[docs]
def loadTemplateYaml(path):
path = Path(path)
rendered = loadAndRender(path)
return yaml.safe_load(rendered)