fix: 네이버 차트 폴백 null/0 가격 필터링
Lightweight Charts에서 null 값 에러 방지 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -334,17 +334,24 @@ async def get_chart_data_cached(stock_code: str, period: str, limit: int) -> lis
|
||||
from app.services.naver_finance import get_naver_daily_chart
|
||||
naver_data = await get_naver_daily_chart(stock_code, days=limit * 2)
|
||||
if naver_data:
|
||||
db_data = [
|
||||
{
|
||||
"date": item.get("stck_bsop_date", ""),
|
||||
"open": float(item.get("stck_oprc", 0)),
|
||||
"high": float(item.get("stck_hgpr", 0)),
|
||||
"low": float(item.get("stck_lwpr", 0)),
|
||||
"close": float(item.get("stck_clpr", 0)),
|
||||
"volume": int(item.get("acml_vol", 0)),
|
||||
}
|
||||
for item in naver_data
|
||||
][-limit:]
|
||||
db_data = []
|
||||
for item in naver_data:
|
||||
o = float(item.get("stck_oprc") or 0)
|
||||
h = float(item.get("stck_hgpr") or 0)
|
||||
l = float(item.get("stck_lwpr") or 0)
|
||||
c = float(item.get("stck_clpr") or 0)
|
||||
d = item.get("stck_bsop_date", "")
|
||||
if not d or c <= 0 or o <= 0 or h <= 0 or l <= 0:
|
||||
continue
|
||||
db_data.append({
|
||||
"date": d,
|
||||
"open": o,
|
||||
"high": h,
|
||||
"low": l,
|
||||
"close": c,
|
||||
"volume": int(item.get("acml_vol") or 0),
|
||||
})
|
||||
db_data = db_data[-limit:]
|
||||
logger.info(f"차트 네이버 폴백: {stock_code} ({len(db_data)}행)")
|
||||
except Exception as e:
|
||||
logger.warning(f"네이버 차트 폴백 실패 ({stock_code}): {e}")
|
||||
|
||||
Reference in New Issue
Block a user