Skip to content

Commit c046298

Browse files
committed
BE: feedback + unify null / empty checks
Signed-off-by: jokob-sk <jokob.sk@gmail.com>
1 parent 89139fe commit c046298

File tree

2 files changed

+24
-24
lines changed

2 files changed

+24
-24
lines changed

server/const.py

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -68,46 +68,46 @@
6868
"""
6969

7070
sql_appevents = """select * from AppEvents order by dateTimeCreated desc"""
71-
sql_devices_filters = """
71+
sql_devices_filters = f"""
7272
SELECT DISTINCT 'devSite' AS columnName, devSite AS columnValue, devSite AS columnLabel
73-
FROM Devices WHERE devSite NOT IN ('', 'null') AND devSite IS NOT NULL
73+
FROM Devices WHERE devSite NOT IN ({NULL_EQUIVALENTS_SQL}) AND devSite IS NOT NULL
7474
UNION
7575
SELECT DISTINCT 'devSourcePlugin' AS columnName, devSourcePlugin AS columnValue, devSourcePlugin AS columnLabel
76-
FROM Devices WHERE devSourcePlugin NOT IN ('', 'null') AND devSourcePlugin IS NOT NULL
76+
FROM Devices WHERE devSourcePlugin NOT IN ({NULL_EQUIVALENTS_SQL}) AND devSourcePlugin IS NOT NULL
7777
UNION
7878
SELECT DISTINCT 'devOwner' AS columnName, devOwner AS columnValue, devOwner AS columnLabel
79-
FROM Devices WHERE devOwner NOT IN ('', 'null') AND devOwner IS NOT NULL
79+
FROM Devices WHERE devOwner NOT IN ({NULL_EQUIVALENTS_SQL}) AND devOwner IS NOT NULL
8080
UNION
8181
SELECT DISTINCT 'devType' AS columnName, devType AS columnValue, devType AS columnLabel
82-
FROM Devices WHERE devType NOT IN ('', 'null') AND devType IS NOT NULL
82+
FROM Devices WHERE devType NOT IN ({NULL_EQUIVALENTS_SQL}) AND devType IS NOT NULL
8383
UNION
8484
SELECT DISTINCT 'devGroup' AS columnName, devGroup AS columnValue, devGroup AS columnLabel
85-
FROM Devices WHERE devGroup NOT IN ('', 'null') AND devGroup IS NOT NULL
85+
FROM Devices WHERE devGroup NOT IN ({NULL_EQUIVALENTS_SQL}) AND devGroup IS NOT NULL
8686
UNION
8787
SELECT DISTINCT 'devLocation' AS columnName, devLocation AS columnValue, devLocation AS columnLabel
88-
FROM Devices WHERE devLocation NOT IN ('', 'null') AND devLocation IS NOT NULL
88+
FROM Devices WHERE devLocation NOT IN ({NULL_EQUIVALENTS_SQL}) AND devLocation IS NOT NULL
8989
UNION
9090
SELECT DISTINCT 'devVendor' AS columnName, devVendor AS columnValue, devVendor AS columnLabel
91-
FROM Devices WHERE devVendor NOT IN ('', 'null') AND devVendor IS NOT NULL
91+
FROM Devices WHERE devVendor NOT IN ({NULL_EQUIVALENTS_SQL}) AND devVendor IS NOT NULL
9292
UNION
9393
SELECT DISTINCT 'devSyncHubNode' AS columnName, devSyncHubNode AS columnValue, devSyncHubNode AS columnLabel
94-
FROM Devices WHERE devSyncHubNode NOT IN ('', 'null') AND devSyncHubNode IS NOT NULL
94+
FROM Devices WHERE devSyncHubNode NOT IN ({NULL_EQUIVALENTS_SQL}) AND devSyncHubNode IS NOT NULL
9595
UNION
9696
SELECT DISTINCT 'devVlan' AS columnName, devVlan AS columnValue, devVlan AS columnLabel
97-
FROM Devices WHERE devVlan NOT IN ('', 'null') AND devVlan IS NOT NULL
97+
FROM Devices WHERE devVlan NOT IN ({NULL_EQUIVALENTS_SQL}) AND devVlan IS NOT NULL
9898
UNION
9999
SELECT 'devParentMAC' AS columnName, d.devParentMAC AS columnValue,
100100
COALESCE(p.devName, d.devParentMAC) AS columnLabel
101101
FROM Devices d
102102
LEFT JOIN Devices p ON LOWER(p.devMac) = LOWER(d.devParentMAC)
103-
WHERE d.devParentMAC NOT IN ('', 'null') AND d.devParentMAC IS NOT NULL
103+
WHERE d.devParentMAC NOT IN ({NULL_EQUIVALENTS_SQL}) AND d.devParentMAC IS NOT NULL
104104
GROUP BY d.devParentMAC COLLATE NOCASE
105105
UNION
106106
SELECT DISTINCT 'devParentRelType' AS columnName, devParentRelType AS columnValue, devParentRelType AS columnLabel
107-
FROM Devices WHERE devParentRelType NOT IN ('', 'null') AND devParentRelType IS NOT NULL
107+
FROM Devices WHERE devParentRelType NOT IN ({NULL_EQUIVALENTS_SQL}) AND devParentRelType IS NOT NULL
108108
UNION
109109
SELECT DISTINCT 'devSSID' AS columnName, devSSID AS columnValue, devSSID AS columnLabel
110-
FROM Devices WHERE devSSID NOT IN ('', 'null') AND devSSID IS NOT NULL
110+
FROM Devices WHERE devSSID NOT IN ({NULL_EQUIVALENTS_SQL}) AND devSSID IS NOT NULL
111111
ORDER BY columnName;
112112
"""
113113

server/scan/device_handling.py

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
from helper import get_setting_value, check_IP_format
66
from utils.datetime_utils import timeNowUTC, normalizeTimeStamp
77
from logger import mylog, Logger
8-
from const import vendorsPath, vendorsPathNewest, sql_generateGuid, NULL_EQUIVALENTS
8+
from const import vendorsPath, vendorsPathNewest, sql_generateGuid, NULL_EQUIVALENTS, NULL_EQUIVALENTS_SQL
99
from models.device_instance import DeviceInstance
1010
from scan.name_resolution import NameResolver
1111
from scan.device_heuristics import guess_icon, guess_type
@@ -246,16 +246,16 @@ def update_sync_hub_node(db):
246246
Mirrors the fallback already used in create_new_devices.
247247
"""
248248
sql = db.sql
249-
node_name = get_setting_value("SYNC_node_name")
249+
node_name = str(get_setting_value("SYNC_node_name") or "").strip()
250250

251251
if not node_name:
252252
return
253253

254254
sql.execute(
255-
"""
255+
f"""
256256
UPDATE Devices
257257
SET devSyncHubNode = ?
258-
WHERE COALESCE(devSyncHubNode, '') IN ('', 'null')
258+
WHERE COALESCE(LOWER(TRIM(devSyncHubNode)), '') IN {NULL_EQUIVALENTS_SQL}
259259
""",
260260
(node_name,),
261261
)
@@ -401,11 +401,11 @@ def update_icons_and_types(db):
401401

402402
if get_setting_value("NEWDEV_replace_preset_icon"):
403403
query = f"""SELECT * FROM Devices
404-
WHERE devIcon in ('', 'null', '{default_icon}')
404+
WHERE devIcon in ({NULL_EQUIVALENTS_SQL}, '{default_icon}')
405405
OR devIcon IS NULL"""
406406
else:
407-
query = """SELECT * FROM Devices
408-
WHERE devIcon in ('', 'null')
407+
query = f"""SELECT * FROM Devices
408+
WHERE devIcon in ({NULL_EQUIVALENTS_SQL})
409409
OR devIcon IS NULL"""
410410

411411
for device in sql.execute(query):
@@ -429,8 +429,8 @@ def update_icons_and_types(db):
429429

430430
# Guess Type
431431
recordsToUpdate = []
432-
query = """SELECT * FROM Devices
433-
WHERE devType in ('', 'null')
432+
query = f"""SELECT * FROM Devices
433+
WHERE devType in ({NULL_EQUIVALENTS_SQL})
434434
OR devType IS NULL"""
435435
default_type = get_setting_value("NEWDEV_devType")
436436

@@ -552,7 +552,7 @@ def save_scanned_devices(db):
552552
def print_scan_stats(db):
553553
sql = db.sql # TO-DO
554554

555-
query = """
555+
query = f"""
556556
SELECT
557557
(SELECT COUNT(*) FROM CurrentScan) AS devices_detected,
558558
(SELECT COUNT(*) FROM CurrentScan WHERE NOT EXISTS (SELECT 1 FROM Devices WHERE devMac = scanMac)) AS new_devices,
@@ -567,7 +567,7 @@ def print_scan_stats(db):
567567
(SELECT COUNT(*) FROM Devices, CurrentScan
568568
WHERE devMac = scanMac
569569
AND scanLastIP IS NOT NULL
570-
AND scanLastIP NOT IN ('', 'null', '(unknown)', '(Unknown)')
570+
AND scanLastIP NOT IN ({NULL_EQUIVALENTS_SQL})
571571
AND scanLastIP <> COALESCE(devPrimaryIPv4, '')
572572
AND scanLastIP <> COALESCE(devPrimaryIPv6, '')
573573
AND scanLastIP <> COALESCE(devLastIP, '')

0 commit comments

Comments
 (0)