diff options
Diffstat (limited to 'rumba/elements/topology.py')
-rw-r--r-- | rumba/elements/topology.py | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/rumba/elements/topology.py b/rumba/elements/topology.py index c47d541..46f24c2 100644 --- a/rumba/elements/topology.py +++ b/rumba/elements/topology.py @@ -654,6 +654,24 @@ class Node(object): def __neq__(self, other): return not self == other + def to_dms_yaml(self, buffer): + buffer.write("node: %s\n" % (self.name)) + buffer.write("registrations:\n") + + for dif in self.dif_registrations: + if isinstance(dif, NormalDIF): + buffer.write(" - %s:\n" % (dif.name)) + for reg in self.dif_registrations[dif]: + tp = "normal" + nm = reg.name + if isinstance(reg, ShimEthDIF): + tp = "eth" + for member in reg.members: + if member.name is not self.name: + nm = member.name + buffer.write(" - %sdifid: %s, diftype: %s, " + "diftype_number: 1%s\n" % ("{", nm, tp, "}")) + def add_dif(self, dif): """ Adds a DIF to the list. |