Edge.py 1.20 KiB
# -*- 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):
        super(Edge, self).__init__()

        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

    def enable(self):
        self.enable = True

    def disable(self):
        self.enable = False