changeset 1273:655a1646f0d5

updated setRoadUsers to force the new objects
author Nicolas Saunier <nicolas.saunier@polymtl.ca>
date Tue, 18 Jun 2024 15:29:28 -0400
parents b2f90cada58f
children 0bfcbc58352f
files trafficintelligence/events.py
diffstat 1 files changed, 6 insertions(+), 17 deletions(-) [+]
line wrap: on
line diff
--- a/trafficintelligence/events.py	Fri Jun 14 15:56:01 2024 -0400
+++ b/trafficintelligence/events.py	Tue Jun 18 15:29:28 2024 -0400
@@ -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)