Added variable assingment

This commit is contained in:
2023-02-23 19:11:06 +02:00
parent 6dd8333007
commit 3e32c9ecf2
3 changed files with 34 additions and 1 deletions

View File

@ -270,6 +270,16 @@ class Function(Event):
run: str = field(default=None)
@dataclass(kw_only=True)
class VariableAssignment(Item):
"""Class for defining variables"""
variable: str
value: Item
@dataclass(kw_only=True)
class Variable(Item):
"""Class for using variables"""
name: str
@dataclass(kw_only=True)
class Sequence(Meta):
@ -334,6 +344,12 @@ class Sequence(Meta):
yield item
else:
yield from item.evaluate_tree(options)
elif isinstance(item, VariableAssignment):
options[item.variable.name] = item.value
elif isinstance(item, Variable):
if options[item.name]:
variable = options[item.name]
yield from _resolve_item(variable, options)
elif isinstance(item, Range):
yield from item.evaluate(options)
elif isinstance(item, Cyclic):