auto: 일일 백업 2026-06-24 02:00

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
hyowons
2026-06-24 02:00:02 +09:00
parent cee32e6dfb
commit 21f4f07cbb
164 changed files with 1244 additions and 3546 deletions
+5 -3
View File
@@ -709,9 +709,11 @@ def _fetch_quotes_batch(entries: list[dict]) -> list[dict]:
return cards
# NXT 비교용 batch — 마크(KRX/NXT) 판정에 사용. 실패해도 fallback X (마크만 KRX로 처리).
# get_watchlist_quotes는 NXT 단독 suffix를 'NX'로 받는다. 'NXT'는 suffix 없이 KRX/기본값으로
# 떨어져 NXT 미거래 종목도 거래 가능처럼 보이므로 쓰면 안 된다.
nxt_batch: dict[str, dict] = {}
try:
nxt_batch = kc.get_watchlist_quotes(miss_codes, exchange='NXT')
nxt_batch = kc.get_watchlist_quotes(miss_codes, exchange='NX')
except Exception as ex:
sys.stderr.write(f'ka10095 NXT batch 실패 (마크 판정용): {ex}\n')
@@ -1915,7 +1917,7 @@ def _render_row(c: dict, source: str = 'watchlist') -> str:
f'<span class="val num">{avg:,}원<span class="muted small"> · {", ".join(accounts)}</span></span>'
)
else:
status_cell = '<span class="badge watching">매수전</span>'
status_cell = ''
held_row = ''
status_cell += _pending_badges_html(c)
@@ -9824,7 +9826,7 @@ def _patch_all_cache_for_owner(owner: str, chart_days: int = NET_WORTH_CHART_DAY
tab['html'] = new_owner_panel
tab['fetched_at'] = fetched_hms
payload['now'] = datetime.now(KST).strftime('%Y-%m-%d %H:%M:%S')
payload['market_active'] = market_active
payload['market_active'] = _market_active_now()
new_body = json.dumps(payload, ensure_ascii=False).encode('utf-8')
# TTL 유지 — patch는 fetch가 아니라 일부 슬라이스만 갱신했으니 원래 만료 시각 그대로.
_panels_cache[all_key] = {'json': new_body, 'expires_at': slot['expires_at']}