From 75bcf42225238d527c785fad407898682f272a94 Mon Sep 17 00:00:00 2001 From: jokob-sk Date: Sat, 6 Jul 2024 10:02:33 +1000 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=8C=20Omada=20work=20=20#708?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/database.py | 1 + server/device.py | 19 ++++++++++--------- server/helper.py | 2 +- server/networkscan.py | 2 +- 4 files changed, 13 insertions(+), 11 deletions(-) diff --git a/server/database.py b/server/database.py index 1faf2f5c..c6fed953 100755 --- a/server/database.py +++ b/server/database.py @@ -473,6 +473,7 @@ class DB(): # ------------------------------------------------------------------------- # indicates, if CurrentScan table is available + # 🐛 CurrentScan DEBUG: comment out below when debugging to keep the CurrentScan table after restarts/scan finishes self.sql.execute("DROP TABLE IF EXISTS CurrentScan;") self.sql.execute(""" CREATE TABLE IF NOT EXISTS CurrentScan ( cur_MAC STRING(50) NOT NULL COLLATE NOCASE, diff --git a/server/device.py b/server/device.py index 254f10c4..790419c8 100755 --- a/server/device.py +++ b/server/device.py @@ -283,14 +283,14 @@ def update_devices_data_from_scan (db): SET dev_Vendor = ( SELECT cur_Vendor FROM CurrentScan - WHERE dev_MAC = cur_MAC + WHERE Devices.dev_MAC = CurrentScan.cur_MAC ) WHERE (dev_Vendor IS NULL OR dev_Vendor IN ("", "null")) AND EXISTS ( SELECT 1 FROM CurrentScan - WHERE dev_MAC = cur_MAC + WHERE Devices.dev_MAC = CurrentScan.cur_MAC )""") # Update only devices with empty or NULL dev_Network_Node_port @@ -298,7 +298,8 @@ def update_devices_data_from_scan (db): sql.execute("""UPDATE Devices SET dev_Network_Node_port = ( SELECT cur_Port - FROM CurrentScan + FROM CurrentScan + WHERE Devices.dev_MAC = CurrentScan.cur_MAC ) WHERE EXISTS ( SELECT 1 @@ -328,14 +329,14 @@ def update_devices_data_from_scan (db): SET dev_NetworkSite = ( SELECT cur_NetworkSite FROM CurrentScan - WHERE dev_MAC = cur_MAC + WHERE Devices.dev_MAC = CurrentScan.cur_MAC ) WHERE (dev_NetworkSite IS NULL OR dev_NetworkSite IN ("", "null")) AND EXISTS ( SELECT 1 FROM CurrentScan - WHERE dev_MAC = cur_MAC + WHERE Devices.dev_MAC = CurrentScan.cur_MAC AND CurrentScan.cur_NetworkSite IS NOT NULL AND CurrentScan.cur_NetworkSite NOT IN ("", "null") )""") @@ -345,14 +346,14 @@ def update_devices_data_from_scan (db): SET dev_SSID = ( SELECT cur_SSID FROM CurrentScan - WHERE dev_MAC = cur_MAC + WHERE Devices.dev_MAC = CurrentScan.cur_MAC ) WHERE (dev_SSID IS NULL OR dev_SSID IN ("", "null")) AND EXISTS ( SELECT 1 FROM CurrentScan - WHERE dev_MAC = cur_MAC + WHERE Devices.dev_MAC = CurrentScan.cur_MAC AND CurrentScan.cur_SSID IS NOT NULL AND CurrentScan.cur_SSID NOT IN ("", "null") )""") @@ -362,14 +363,14 @@ def update_devices_data_from_scan (db): SET dev_DeviceType = ( SELECT cur_Type FROM CurrentScan - WHERE dev_MAC = cur_MAC + WHERE Devices.dev_MAC = CurrentScan.cur_MAC ) WHERE (dev_DeviceType IS NULL OR dev_DeviceType IN ("", "null")) AND EXISTS ( SELECT 1 FROM CurrentScan - WHERE dev_MAC = cur_MAC + WHERE Devices.dev_MAC = CurrentScan.cur_MAC AND CurrentScan.cur_Type IS NOT NULL AND CurrentScan.cur_Type NOT IN ("", "null") )""") diff --git a/server/helper.py b/server/helper.py index 77b7420e..92362f39 100755 --- a/server/helper.py +++ b/server/helper.py @@ -333,7 +333,7 @@ def setting_value_to_python_type(set_type, set_value): elif set_type in ['integer.select', 'integer']: value = int(set_value) # belwo covers 'text.multiselect', 'list', 'subnets', 'list.select', 'list' - elif set_type in ['subnets' ] or 'list' in set_type: + elif set_type in ['subnets', 'text.multiselect' ] or 'list' in set_type: mylog('debug', [f'[SETTINGS] Handling set_type: "{set_type}", set_value: "{set_value}"']) diff --git a/server/networkscan.py b/server/networkscan.py index 69e9ecbb..0d144eb0 100755 --- a/server/networkscan.py +++ b/server/networkscan.py @@ -61,7 +61,7 @@ def process_scan (db): skip_repeated_notifications (db) # Clear current scan as processed - # TODO comment below for CurrentScan debugging + # 🐛 CurrentScan DEBUG: comment out below when debugging to keep the CurrentScan table after restarts/scan finishes db.sql.execute ("DELETE FROM CurrentScan") # Commit changes