diff --git a/src/c3nav/mapdata/models/update.py b/src/c3nav/mapdata/models/update.py index 65dfcefc..ea3759b0 100644 --- a/src/c3nav/mapdata/models/update.py +++ b/src/c3nav/mapdata/models/update.py @@ -183,7 +183,7 @@ class MapUpdate(models.Model): logger.info('Rebuilding locator...') from c3nav.routing.locator import Locator - locator = Locator.rebuild(new_updates[-1].to_tuple) + locator = Locator.rebuild(new_updates[-1].to_tuple, router) for new_update in reversed(new_updates): new_update.processed = True diff --git a/src/c3nav/routing/locator.py b/src/c3nav/routing/locator.py index 590ee1d4..c8917066 100644 --- a/src/c3nav/routing/locator.py +++ b/src/c3nav/routing/locator.py @@ -56,7 +56,7 @@ class LocatorPoint: class Locator: peers: list[LocatorPeer] = field(default_factory=list) peer_lookup: dict[BSSID, int] = field(default_factory=dict) - xyz: np.array = field(default_factory=np.empty((0,))) + xyz: np.array = field(default_factory=(lambda : np.empty((0,)))) spaces: dict[int, "LocatorSpace"] = field(default_factory=dict) @classmethod @@ -77,7 +77,7 @@ class Locator: self.xyz = np.array(tuple(peer.xyz for peer in self.peers)) for space in Space.objects.prefetch_related('wifi_measurements'): - new_space = LocatorSpace( + new_space = LocatorSpace.create( pk=space.pk, points=tuple( LocatorPoint(