feat: add fallback to most recent prices when requested date has no data
- When no prices exist for the requested date, query for the most recent available date and return those prices instead - Log informational message when falling back to alternate date
This commit is contained in:
11
app/main.py
11
app/main.py
@@ -144,6 +144,17 @@ async def get_stored_prices(
|
||||
CompanyPrice.scrape_date == date
|
||||
).all()
|
||||
|
||||
# Fallback: if no prices for requested date, get most recent ones
|
||||
if not prices:
|
||||
latest_date_result = db.query(CompanyPrice.scrape_date).order_by(
|
||||
CompanyPrice.scrape_date.desc()
|
||||
).first()
|
||||
if latest_date_result:
|
||||
prices = db.query(CompanyPrice).filter(
|
||||
CompanyPrice.scrape_date == latest_date_result[0]
|
||||
).all()
|
||||
logger.info(f"No prices for {date}, returning {len(prices)} prices from {latest_date_result[0]}")
|
||||
|
||||
return [
|
||||
PriceRecord(
|
||||
company_name=p.company_name,
|
||||
|
||||
Reference in New Issue
Block a user