Fix issues 2

This commit is contained in:
Urtzi Alfaro
2025-08-17 11:12:17 +02:00
parent 109961ef6e
commit d21094a940
2 changed files with 23 additions and 28 deletions

View File

@@ -177,24 +177,29 @@ class TrainingDataOrchestrator:
raise ValueError(f"Failed to prepare training data: {str(e)}")
def _extract_sales_date_range(self, sales_data: List[Dict[str, Any]]) -> DateRange:
"""Extract date range from sales data with timezone handling"""
"""Extract date range from sales data with timezone handling and strict date format."""
if not sales_data:
raise ValueError("No sales data provided")
dates = []
for record in sales_data:
date_value = record.get('date')
if date_value:
# ✅ FIX: Ensure timezone-aware datetime
if isinstance(date_value, str):
dt = pd.to_datetime(date_value)
if dt.tz is None:
dt = dt.replace(tzinfo=timezone.utc)
dates.append(dt.to_pydatetime())
elif isinstance(date_value, datetime):
if date_value.tzinfo is None:
date_value = date_value.replace(tzinfo=timezone.utc)
dates.append(date_value)
if not date_value:
continue # Skip records with missing date
if isinstance(date_value, str):
# Parse string with explicit format
dt = pd.to_datetime(date_value, format='mixed', errors='raise')
if dt.tz is None:
dt = dt.tz_localize('UTC') # Assign UTC timezone if none
dates.append(dt.to_pydatetime())
elif isinstance(date_value, datetime):
if date_value.tzinfo is None:
date_value = date_value.replace(tzinfo=timezone.utc)
dates.append(date_value)
else:
continue
if not dates:
raise ValueError("No valid dates found in sales data")