flet-build-template/cookiecutter_extensions.py

23 lines
608 B
Python

from jinja2 import pass_context
from jinja2.ext import Extension
class FletExtension(Extension):
def __init__(self, environment):
super(FletExtension, self).__init__(environment)
environment.globals["get_pyproject"] = self.get_pyproject
@pass_context
def get_pyproject(self, context, setting):
pyproject = context.get("cookiecutter", {}).get("pyproject", {})
if not setting:
return pyproject
d = pyproject
for k in setting.split("."):
d = d.get(k)
if d is None:
return None
return d