# -*- coding: utf-8 -*- from Model.Network.Node import Node class Edge(object): def __init__(self, id:str, name:str, node1:Node = None, node2:Node = None, status = None): super(Edge, self).__init__() self._status = status self.id = id self._name = name if name != "" else f"{node1.name} -> {node2.name}" self.node1 = node1 self.node2 = node2 self.enable = True def __getitem__(self, name): ret = None if name == "name": ret = self._name elif name == "id": ret = self.id elif name == "node1": ret = self.node1.name elif name == "node2": ret = self.node2.name elif name == "enable": ret = self.enable return ret def __setitem__(self, name, value): if name == "name": self._name = value elif name == "id": self.id = value elif name == "node1": self.node1 = value elif name == "node2": self.node2 = value elif name == "enable": self.enable = value self._status.modified() @property def name(self): return self._name def enable(self): self.enable = True def disable(self): self.enable = False