updated setRoadUsers to force the new objects

Commit 655a1646f0d5 · Nicolas Saunier · 2024-06-18 15:29 -0400

Changeset
655a1646f0d554d164abd0ee6fce52b48a92d65f
Parents
1271:b2f90cada58f

View source at this commit

Comments

No comments yet.

Log in to comment

Diff

diff --git a/trafficintelligence/events.py b/trafficintelligence/events.py
--- a/trafficintelligence/events.py
+++ b/trafficintelligence/events.py
@@ -117,23 +117,12 @@
         return self.roadUserNumbers
 
     def setRoadUsers(self, objects):
-        nums = sorted(list(self.getRoadUserNumbers()))
-        if nums[0]<len(objects) and objects[nums[0]].getNum() == nums[0]:
-            self.roadUser1 = objects[nums[0]]
-        if nums[1]<len(objects) and objects[nums[1]].getNum() == nums[1]:
-            self.roadUser2 = objects[nums[1]]
-
-        if self.roadUser1 is None or self.roadUser2 is None:
-            self.roadUser1 = None
-            self.roadUser2 = None
-            i = 0
-            while i < len(objects) and self.roadUser2 is None:
-                if objects[i].getNum() in nums:
-                    if self.roadUser1 is None:
-                        self.roadUser1 = objects[i]
-                    else:
-                        self.roadUser2 = objects[i]
-                i += 1
+        tmpobjects = {o.getNum():o for o in objects}
+        i, j = self.roadUserNumbers
+        if i in tmpobjects:
+            self.roadUser1 = tmpobjects[i]
+        if j in tmpobjects:
+            self.roadUser2 = tmpobjects[j]
 
     def getIndicator(self, indicatorName):
         return self.indicators.get(indicatorName, None)