Merge remote-tracking branch 'origin/sub_laptop_5' into sub_laptop_8

This commit is contained in:
2026-10-31 16:46:48 +09:00
4 changed files with 621 additions and 6 deletions
+9 -6
View File
@@ -120,21 +120,24 @@ def delete(folder: str | Path, key: str) -> None:
# ── 맞춤 기억 ─────────────────────────────────────────────────────────
def memory(folder: str | Path) -> dict[str, dict[str, Any]]:
"""층 맞춤 기억 `{줄 열쇠: 확정}` — 없으면 빈 것."""
doc = _load(_dir(folder) / f"{MEMORY}.json")
def memory(folder: str | Path, name: str = MEMORY) -> dict[str, dict[str, Any]]:
"""층 맞춤 기억 `{줄 열쇠: 확정}` — 없으면 빈 것 ·
`name` = 기억 파일(내역 잇기 707-4 = 「내역맞춤」)."""
doc = _load(_dir(folder) / f"{name}.json")
got = doc.get("줄") if isinstance(doc, dict) else None
return got if isinstance(got, dict) else {}
def remember(folder: str | Path, entries: dict[str, dict[str, Any] | None]) -> dict[str, Any]:
def remember(
folder: str | Path, entries: dict[str, dict[str, Any] | None], name: str = MEMORY
) -> dict[str, Any]:
"""기억 더함 · 바꿈(값 None = 지움) → 새 기억 전부."""
with _LOCK:
got = memory(folder)
got = memory(folder, name)
for key, value in entries.items():
if value is None:
got.pop(key, None)
else:
got[key] = value
atomic_write_json(_dir(folder) / f"{MEMORY}.json", {"줄": got})
atomic_write_json(_dir(folder) / f"{name}.json", {"줄": got})
return got