Untitled
unknown
python
2 years ago
1.5 kB
7
Indexable
page_size = 200000
for i in range(0, len(activityRecordPositionIds), page_size):
print("Querying {} to {}".format(i, i + page_size))
activityRecordPositions.extend(db.activityRecordPositions.find({"_id": {"$in": activityRecordPositionIds[i:i + page_size]}}, rpProject))
activityRecordPositions = {activityRecordPosition.get("_id"): activityRecordPosition for activityRecordPosition in activityRecordPositions}
vehicles = {vehicle.get("_id"): vehicle.get('width') for vehicle in vehicles}
for activity in activities:
vehicleWidthDic = [vehicles.get(vehicle.get('vehicleId')) for vehicle in activity.get("sensors", [])]
vehicleWidthDic = list(filter(None, vehicleWidthDic))
if len(vehicleWidthDic) <= 0:
continue
activity["vehicleWidth"] = max(vehicleWidthDic)
activity["recordPositions"] = [activityRecordPositions.get(activityRecordPositionId) for activityRecordPositionId in activity.get("activityRecordPositionIds")]
zoneDic[activity.get("zoneId")].setdefault("activityRecords", []).append(activity)
progresses = db.progresses.find({"inProgress": True, "zoneId": {"$in": zoneIds}})
for progress in progresses:
zoneDic[progress.get("zoneId")].setdefault("progresses", []).append(progress)
zoneDic = {zoneId: zone for zoneId, zone in zoneDic.items() if len(zone.get("activityRecords", [])) > 0}
return list(zoneDic.values())
Editor is loading...