Adding Variables
from ecflow import Defs, Suite, Variable, Edit
defs = Defs(
Suite("s1", HELLO="world", FRED="bloggs", BILL=1, NAME="value", NAME2="value2")
)
defs.s1.add_variable("NAME4", 4)
defs.s1 += Edit(NAME3="value3")
The following examples show alternative styles that produce the same definition:
defs = Defs().add(
Suite("s1").add(
Edit(
HELLO="world",
FRED="bloggs",
BILL=1,
NAME="value",
NAME2="value2",
NAME3="value3",
NAME4=4,
)
)
)
defs = Defs() + Suite("s1")
defs.s1 += {
"HELLO": "world",
"NAME": "value",
"NAME2": "value2",
"NAME3": "value3",
"NAME4": 4,
"BILL": 1,
"FRED": "bloggs",
}
defs = Defs() + Suite("s1", Edit(HELLO="world"))
defs.s1 += [
Edit({"NAME": "value", "NAME2": "value2", "NAME3": "value3", "NAME4": 4}, BILL=1),
Edit(FRED="bloggs"),
]
Note
Although we are using class Edit as a short cut, the objects that are added are still of type Variable.
Warning
In the example above we use ‘defs.s1’ to reference a node by name. This is useful in small designs but will produce maintenance issues in large designs IF the node names are changed.