diff options
Diffstat (limited to 'haircontrol/data.py')
-rw-r--r-- | haircontrol/data.py | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/haircontrol/data.py b/haircontrol/data.py new file mode 100644 index 0000000..599d322 --- /dev/null +++ b/haircontrol/data.py @@ -0,0 +1,27 @@ +class Equipment: + def __init__(self, name=None, mgmtip=None): + self.name = name + self.mgmtip = mgmtip + self.ifaces = {} + + def __repr__(self): + return repr( (self.name, self.mgmtip, self.ifaces.values()) ) + + def add_seen_mac(self, ifname, mac): + iface = self.ifaces.get(ifname) + if not iface: + iface = Interface() + iface.name = ifname + self.ifaces[ifname] = iface + iface.mac_seen.append(mac) + +class Interface: + def __init__(self, name=None, mac=None): + self.name = name + self.mac = mac + self.mac_seen = [] + self.remote = [] + + def __repr__(self): + return repr( (self.mac, self.name) ) + |