Skip to content

Commit 23e16ae

Browse files
committed
PLG: sync handle mixed case
Signed-off-by: jokob-sk <jokob.sk@gmail.com>
1 parent 67cab9d commit 23e16ae

1 file changed

Lines changed: 8 additions & 4 deletions

File tree

front/plugins/sync/sync.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -187,9 +187,10 @@ def main():
187187
with open(file_path, 'r') as f:
188188
data = json.load(f)
189189
for device in data['data']:
190-
if device['devMac'] not in unique_mac_addresses:
190+
device['devMac'] = str(device['devMac']).lower()
191+
if device['devMac'].lower() not in unique_mac_addresses:
191192
device['devSyncHubNode'] = syncHubNodeName
192-
unique_mac_addresses.add(device['devMac'])
193+
unique_mac_addresses.add(device['devMac'].lower())
193194
device_data.append(device)
194195

195196
# Rename the file to "processed_" + current name
@@ -206,7 +207,7 @@ def main():
206207
# Retrieve existing devMac values from the Devices table
207208
placeholders = ', '.join('?' for _ in unique_mac_addresses)
208209
cursor.execute(f'SELECT devMac FROM Devices WHERE devMac IN ({placeholders})', tuple(unique_mac_addresses))
209-
existing_mac_addresses = set(row[0] for row in cursor.fetchall())
210+
existing_mac_addresses = set(row[0].lower() for row in cursor.fetchall())
210211

211212
# insert devices into the last_result.log and thus CurrentScan table to manage state
212213
for device in device_data:
@@ -229,7 +230,10 @@ def main():
229230
db_columns = {row[1] for row in cursor.fetchall()}
230231

231232
# Filter out existing devices
232-
new_devices = [device for device in device_data if device['devMac'] not in existing_mac_addresses]
233+
new_devices = [
234+
device for device in device_data
235+
if device['devMac'].lower() not in existing_mac_addresses
236+
]
233237

234238
mylog('verbose', [f'[{pluginName}] All devices: "{len(device_data)}"'])
235239
mylog('verbose', [f'[{pluginName}] New devices: "{len(new_devices)}"'])

0 commit comments

Comments
 (0)