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
|
from app.services.naver_finance import get_naver_daily_chart
|
||||||
naver_data = await get_naver_daily_chart(stock_code, days=limit * 2)
|
naver_data = await get_naver_daily_chart(stock_code, days=limit * 2)
|
||||||
if naver_data:
|
if naver_data:
|
||||||
db_data = [
|
db_data = []
|
||||||
{
|
for item in naver_data:
|
||||||
"date": item.get("stck_bsop_date", ""),
|
o = float(item.get("stck_oprc") or 0)
|
||||||
"open": float(item.get("stck_oprc", 0)),
|
h = float(item.get("stck_hgpr") or 0)
|
||||||
"high": float(item.get("stck_hgpr", 0)),
|
l = float(item.get("stck_lwpr") or 0)
|
||||||
"low": float(item.get("stck_lwpr", 0)),
|
c = float(item.get("stck_clpr") or 0)
|
||||||
"close": float(item.get("stck_clpr", 0)),
|
d = item.get("stck_bsop_date", "")
|
||||||
"volume": int(item.get("acml_vol", 0)),
|
if not d or c <= 0 or o <= 0 or h <= 0 or l <= 0:
|
||||||
}
|
continue
|
||||||
for item in naver_data
|
db_data.append({
|
||||||
][-limit:]
|
"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)}행)")
|
logger.info(f"차트 네이버 폴백: {stock_code} ({len(db_data)}행)")
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.warning(f"네이버 차트 폴백 실패 ({stock_code}): {e}")
|
logger.warning(f"네이버 차트 폴백 실패 ({stock_code}): {e}")
|
||||||
|
|||||||
Reference in New Issue
Block a user