From 879520a7cd52080dab246b6905c11123ffb42010 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laura=20Kl=C3=BCnder?= Date: Fri, 27 Dec 2024 23:28:14 +0100 Subject: [PATCH] create mapupdate in bssid from scans to beacons --- .../management/commands/bssid_from_scans_to_beacons.py | 5 ++++- src/c3nav/mapdata/models/geometry/space.py | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/c3nav/mapdata/management/commands/bssid_from_scans_to_beacons.py b/src/c3nav/mapdata/management/commands/bssid_from_scans_to_beacons.py index e1f9680e..916033b5 100644 --- a/src/c3nav/mapdata/management/commands/bssid_from_scans_to_beacons.py +++ b/src/c3nav/mapdata/management/commands/bssid_from_scans_to_beacons.py @@ -1,6 +1,7 @@ from django.core.management.base import BaseCommand from django.db import transaction +from c3nav.mapdata.models import MapUpdate from c3nav.mapdata.models.geometry.space import BeaconMeasurement @@ -9,4 +10,6 @@ class Command(BaseCommand): def handle(self, *args, **options): with transaction.atomic(): - BeaconMeasurement.contribute_bssid_to_beacons(BeaconMeasurement.objects.all()) \ No newline at end of file + with MapUpdate.lock(): + BeaconMeasurement.contribute_bssid_to_beacons(BeaconMeasurement.objects.all()) + MapUpdate.objects.create(type='bssids_from_scans_to_beacons') diff --git a/src/c3nav/mapdata/models/geometry/space.py b/src/c3nav/mapdata/models/geometry/space.py index d833939e..c8a6df3a 100644 --- a/src/c3nav/mapdata/models/geometry/space.py +++ b/src/c3nav/mapdata/models/geometry/space.py @@ -471,6 +471,7 @@ class BeaconMeasurement(SpaceGeometryMixin, models.Model): if peer.ap_name: map_name.setdefault(peer.ap_name, []).append(peer.bssid) for beacon in RangingBeacon.objects.filter(ap_name__in=map_name.keys()): + print(beacon, "add ssids", set(map_name[beacon.ap_name])) beacon.wifi_bssids = list(set(beacon.wifi_bssids) | set(map_name[beacon.ap_name])) beacon.save()