Edge.py 1.27 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

        self.node1 = node1
        self.node2 = node2

        self.enable = True

    def __repr__(self):
        return f"Edge {{id: {self.id}, enable: {self.enable}, name: {self.name}, self.node1: {self.node1}, self.node2: {self.node2},}}"

    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