Coverage for src/lektor_ng/environment/expressions.py: 100%
20 statements
« prev ^ index » next coverage.py v7.15.2, created at 2026-08-09 00:28 +0000
« prev ^ index » next coverage.py v7.15.2, created at 2026-08-09 00:28 +0000
1class Expression:
2 def __init__(self, env, expr):
3 self.env = env
4 self.tmpl = env.jinja_env.from_string(f"{{{{ __result__({expr}) }}}}")
6 def evaluate(self, pad=None, this=None, values=None, alt=None):
7 result = []
9 def result_func(value):
10 result.append(value)
11 return ""
13 values = self.env.make_default_tmpl_values(pad, this, values, alt)
14 values["__result__"] = result_func
15 self.tmpl.render(values)
16 return result[0]
19class FormatExpression:
20 def __init__(self, env, expr):
21 self.env = env
22 self.tmpl = env.jinja_env.from_string(expr)
24 def evaluate(self, pad=None, this=None, values=None, alt=None):
25 values = self.env.make_default_tmpl_values(pad, this, values, alt)
26 return self.tmpl.render(values)