From 7b7f5c81dc62e4c5d36e379e14e5168a1a2840ae Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Tue, 6 Aug 2013 13:13:29 +0530 Subject: [PATCH] newdb: More efficient deleteing of multiple books --- src/calibre/gui2/library/models.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/calibre/gui2/library/models.py b/src/calibre/gui2/library/models.py index 5f9e7bfdc6..df2afe5afc 100644 --- a/src/calibre/gui2/library/models.py +++ b/src/calibre/gui2/library/models.py @@ -315,9 +315,14 @@ class BooksModel(QAbstractTableModel): # {{{ return ids def delete_books_by_id(self, ids, permanent=False): - for id in ids: - self.db.delete_book(id, permanent=permanent, do_clean=False) - self.db.clean() + if hasattr(self.db, 'new_api'): + self.db.new_api.remove_books(ids, permanent=permanent) + self.db.data.books_deleted(tuple(ids)) + self.db.notify('delete', list(ids)) + else: + for id in ids: + self.db.delete_book(id, permanent=permanent, do_clean=False) + self.db.clean() self.books_deleted() def books_added(self, num):