Fix handlers.py - keep function-based API for backwards compatibility

This commit is contained in:
2026-03-22 11:53:48 +00:00
parent f7185caf6a
commit f8905dfbbf

View File

@@ -66,7 +66,8 @@ class ExportHandler:
replaced = 0 replaced = 0
for snippet_data in snippets: for snippet_data in snippets:
result = self.db.import_snippet(snippet_data, strategy=strategy) result = self.db.import_snippet(
snippet_data, strategy=strategy)
if result is None: if result is None:
skipped += 1 skipped += 1
elif result == -1: elif result == -1:
@@ -89,4 +90,34 @@ class ExportHandler:
f" Skipped: {results.get('skipped', 0)}", f" Skipped: {results.get('skipped', 0)}",
f" Replaced: {results.get('replaced', 0)}", f" Replaced: {results.get('replaced', 0)}",
] ]
return "\n".join(lines) return "\n".join(lines)
def export_snippets(snippets: list[dict[str, Any]], file_path: str):
"""Export snippets to a JSON file (standalone function)."""
export_data = {
"version": "1.0",
"exported_at": datetime.utcnow().isoformat() + "Z",
"snippets": snippets,
}
with open(file_path, "w") as f:
json.dump(export_data, f, indent=2)
def import_snippets(db: Database, file_path: str, strategy: str = "skip") -> tuple[int, int]:
"""Import snippets from a JSON file (standalone function)."""
with open(file_path, "r") as f:
data = json.load(f)
snippets = data.get("snippets", [])
imported = 0
skipped = 0
for snippet_data in snippets:
result = db.import_snippet(snippet_data, strategy=strategy)
if result is None:
skipped += 1
else:
imported += 1
return imported, skipped