Files
Pamhyr2/src/Model/Network/Edge.py
T

56 lines
1.3 KiB
Python

# -*- 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
@property
def name(self):
return self._name
def enable(self):
self.enable = True
def disable(self):
self.enable = False