Форматирование времени последней активности устройства в читаемый вид
This commit is contained in:
parent
3eff71bc97
commit
8adb27e8d1
1 changed files with 9 additions and 7 deletions
|
|
@ -130,7 +130,7 @@ class DeviceStorage:
|
||||||
|
|
||||||
def _clean_old_devices(self, devices: Dict[str,
|
def _clean_old_devices(self, devices: Dict[str,
|
||||||
Device]) -> Dict[str, Device]:
|
Device]) -> Dict[str, Device]:
|
||||||
now = datetime.now(ZoneInfo("UTC"))
|
now = datetime.now()
|
||||||
filtered = {}
|
filtered = {}
|
||||||
for mac, device in devices.items():
|
for mac, device in devices.items():
|
||||||
if device.status == "offline" and device.last_seen:
|
if device.status == "offline" and device.last_seen:
|
||||||
|
|
@ -189,14 +189,15 @@ class SubnetService:
|
||||||
ports: List[int] = None) -> SubnetScanResult:
|
ports: List[int] = None) -> SubnetScanResult:
|
||||||
start_time = time.time()
|
start_time = time.time()
|
||||||
devices = []
|
devices = []
|
||||||
now = datetime.now(ZoneInfo("UTC")).isoformat()
|
now = datetime.now().astimezone()
|
||||||
|
formatted_now = now.strftime("%d %B %Y, %H:%M")
|
||||||
try:
|
try:
|
||||||
saved_devices = self.storage.load_devices()
|
saved_devices = self.storage.load_devices()
|
||||||
|
|
||||||
local_device = self._get_local_device(subnet)
|
local_device = self._get_local_device(subnet)
|
||||||
if local_device:
|
if local_device:
|
||||||
local_device.status = "online"
|
local_device.status = "online"
|
||||||
local_device.last_seen = now
|
local_device.last_seen = formatted_now
|
||||||
devices.append(local_device)
|
devices.append(local_device)
|
||||||
if local_device.mac:
|
if local_device.mac:
|
||||||
saved_devices[local_device.mac] = local_device
|
saved_devices[local_device.mac] = local_device
|
||||||
|
|
@ -219,7 +220,7 @@ class SubnetService:
|
||||||
open_ports=self.port_scanner.scan(ip)
|
open_ports=self.port_scanner.scan(ip)
|
||||||
or existing_device.open_ports,
|
or existing_device.open_ports,
|
||||||
status="online",
|
status="online",
|
||||||
last_seen=now,
|
last_seen=formatted_now,
|
||||||
note=existing_device.note,
|
note=existing_device.note,
|
||||||
)
|
)
|
||||||
vendor = self.device_info.get_vendor(mac)
|
vendor = self.device_info.get_vendor(mac)
|
||||||
|
|
@ -232,7 +233,7 @@ class SubnetService:
|
||||||
vendor=vendor,
|
vendor=vendor,
|
||||||
open_ports=open_ports,
|
open_ports=open_ports,
|
||||||
status="online",
|
status="online",
|
||||||
last_seen=now,
|
last_seen=formatted_now,
|
||||||
note=None,
|
note=None,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -265,7 +266,8 @@ class SubnetService:
|
||||||
return SubnetScanResult(devices=devices)
|
return SubnetScanResult(devices=devices)
|
||||||
|
|
||||||
def _get_local_device(self, subnet: str) -> Optional[Device]:
|
def _get_local_device(self, subnet: str) -> Optional[Device]:
|
||||||
now = datetime.now(ZoneInfo("UTC")).isoformat()
|
now = datetime.now().astimezone()
|
||||||
|
formatted_now = now.strftime("%d %B %Y, %H:%M")
|
||||||
try:
|
try:
|
||||||
subnet_network = ipaddress.ip_network(subnet, strict=False)
|
subnet_network = ipaddress.ip_network(subnet, strict=False)
|
||||||
interfaces = netifaces.interfaces()
|
interfaces = netifaces.interfaces()
|
||||||
|
|
@ -290,7 +292,7 @@ class SubnetService:
|
||||||
vendor=vendor,
|
vendor=vendor,
|
||||||
open_ports=open_ports,
|
open_ports=open_ports,
|
||||||
status="online",
|
status="online",
|
||||||
last_seen=now,
|
last_seen=formatted_now,
|
||||||
note=None,
|
note=None,
|
||||||
)
|
)
|
||||||
logger.warning(
|
logger.warning(
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue