Fix data fetch 7

This commit is contained in:
Urtzi Alfaro
2025-07-27 22:58:18 +02:00
parent 0201b428e5
commit 946015b80c
8 changed files with 138 additions and 100 deletions

View File

@@ -13,6 +13,8 @@ from app.models.traffic import TrafficData
from app.external.madrid_opendata import MadridOpenDataClient
from app.schemas.external import TrafficDataResponse
import uuid
logger = structlog.get_logger()
class TrafficService:
@@ -102,26 +104,26 @@ class TrafficService:
try:
for data in traffic_data:
traffic_record = TrafficData(
id = id,
location_id = location_id,
date = data.get('date', datetime.now()),
traffic_volume = data.get('traffic_volume'),
pedestrian_count = data.get('pedestrian_count'),
congestion_level = data.get('congestion_level'),
average_speed = data.get('average_speed'),
source = "Madrid Open Data",
raw_data = str(data),
created_at = data.get('created_at'),
location_id=location_id,
date=data.get('date', datetime.now()),
traffic_volume=data.get('traffic_volume'),
pedestrian_count=data.get('pedestrian_count'),
congestion_level=data.get('congestion_level'),
average_speed=data.get('average_speed'),
source="madrid_opendata",
raw_data=str(data),
created_at=datetime.now()
)
db.add(traffic_record)
await db.commit()
logger.debug("Historical data stored in database", count=len(traffic_record))
logger.debug("Historical data stored in database", count=len(traffic_data))
except Exception as db_error:
logger.warning("Failed to store historical data in database", error=str(db_error))
await db.rollback()
return [TrafficDataResponse(**item) for item in traffic_data]
return [TrafficDataResponse(**item) for item in traffic_record]
else:
logger.warning("No historical traffic data received")
return []