check for doubles
This commit is contained in:
@@ -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")
|
||||
|
||||
Reference in New Issue
Block a user