check for doubles

This commit is contained in:
2026-05-10 21:13:01 +02:00
parent 877c4c9d67
commit a7ab2db9f2
4 changed files with 163 additions and 0 deletions
+29
View File
@@ -13,6 +13,7 @@ import db
import sftp as sftp_module
import sync
import uploader
from uploader import delete_book, fetch_all_books, find_duplicate_groups
logging.basicConfig(level=logging.INFO, format="%(asctime)s %(levelname)s %(name)s%(message)s")
log = logging.getLogger(__name__)
@@ -185,6 +186,34 @@ async def test_calibre():
return {"ok": ok, "message": message}
# --- Duplicates ---
@app.get("/duplicates", response_class=HTMLResponse)
async def duplicates_page(request: Request):
cfg = config.load()
error = None
groups: list = []
total_books = 0
try:
books = fetch_all_books(cfg.calibre)
total_books = len(books)
groups = find_duplicate_groups(books)
except Exception as e:
error = str(e)
return templates.TemplateResponse(request, "duplicates.html", {
"groups": groups,
"total_books": total_books,
"error": error,
})
@app.post("/api/delete_book/{book_id}")
async def delete_book_api(book_id: int):
cfg = config.load()
ok, message = delete_book(cfg.calibre, book_id)
return {"ok": ok, "message": message}
# --- Data reset ---
@app.post("/settings/reset-sync-data")