feat: add English vocab extraction and Anki card registration
- core/vocab.py: extract B1-B2 level vocabulary from English content via Gemini Flash - core/anki.py: register vocab cards to AnkiConnect (English::Vocabulary deck) - core/enricher.py: add language detection field + summary_ko (Korean summary) - core/obsidian.py: render Korean + English summary in note - daemon/worker.py: call vocab extraction and Anki registration for English content
This commit is contained in:
@@ -4,11 +4,13 @@ import logging
|
||||
import os
|
||||
import time
|
||||
|
||||
from core.anki import add_vocab_cards
|
||||
from core.chunker import chunk_text
|
||||
from core.enricher import enrich
|
||||
from core.obsidian import save_note
|
||||
from core.queue_db import fetch_pending, set_done, set_error, set_processing
|
||||
from core.vector import save_to_vector
|
||||
from core.vocab import extract_vocab
|
||||
from core.web import fetch_page_text
|
||||
from core.youtube import get_transcript
|
||||
|
||||
@@ -62,6 +64,7 @@ def process_item(item: dict) -> None:
|
||||
source_url=url,
|
||||
author=meta.get("author") or "",
|
||||
date=meta.get("date") or "",
|
||||
summary_ko=meta.get("summary_ko", ""),
|
||||
)
|
||||
logger.info("Obsidian note saved: %s", note_path)
|
||||
|
||||
@@ -70,6 +73,12 @@ def process_item(item: dict) -> None:
|
||||
inserted = save_to_vector(doc_id, chunks)
|
||||
logger.info("Vector store: inserted %d chunks for doc_id=%s", len(inserted), doc_id)
|
||||
|
||||
# Add Anki vocabulary cards for English content
|
||||
if meta.get("language", "").startswith("en"):
|
||||
vocab = extract_vocab(text, title)
|
||||
if vocab:
|
||||
add_vocab_cards(vocab, source_title=title)
|
||||
|
||||
set_done(row_id, title, meta)
|
||||
logger.info("Done: %s → %s", row_id[:8], title[:60])
|
||||
|
||||
|
||||
Reference in New Issue
Block a user