Форматирование времени последней активности устройства в читаемый вид

This commit is contained in:
parent 3eff71bc97
commit 8adb27e8d1

View file

@ -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(