blob: 767180ed8bc1acc7f50bc77116ac61cffc20f264 [file] [log] [blame]
Shad Ansarid88692c2022-02-01 22:47:43 +00001"""
2SPDX-FileCopyrightText: 2020-present Open Networking Foundation <info@opennetworking.org>
3SPDX-License-Identifier: LicenseRef-ONF-Member-1.01
4"""
5
6import logging as log
7from datetime import datetime
8
9
10class Device(object):
11
12 def __init__(self, imsi_id, imsi, ip=None):
13 # log.debug("creating device, imsi_id={}, imsi={}, ip={}".format(imsi_id, imsi, ip))
14 self.imsi_id = imsi_id
15 self.imsi = imsi
16 self.ip = ip
17 self.reachable = False
18 self.last_reachable = datetime.min
19
20 @classmethod
21 def get_reachable(cls, devices):
22 reachable = {}
23 for _, device in devices.items():
24 if device.reachable is True:
25 reachable[device.imsi_id] = {'ip':device.ip, 'imsi':device.imsi, 'last_reachable':'{:%Y-%m-%d %H:%M:%S}'.format(device.last_reachable)}
26 last_reachable = datetime(1, 1, 1, 0, 0)
27
28 return reachable
29
30 @classmethod
31 def get_unreachable(cls, devices):
32 unreachable = {}
33 for _, device in devices.items():
34 if device.reachable is False:
35 unreachable[device.imsi_id] = {'ip':device.ip, 'imsi':device.imsi, 'last_reachable':'{:%Y-%m-%d %H:%M:%S}'.format(device.last_reachable)}
36
37 return unreachable
38
39
40
41