newdb: Fix duplicates during adding creating blank book record

Fixes #1206830 [Problem when adding duplicate title](https://bugs.launchpad.net/calibre/+bug/1206830)
This commit is contained in:
Kovid Goyal 2013-07-31 18:00:10 +05:30
parent c075b6b401
commit 8713ebb0b1

View File

@ -202,6 +202,7 @@ class LibraryDatabase(object):
# Adding books {{{
def create_book_entry(self, mi, cover=None, add_duplicates=True, force_id=None):
ret = self.new_api.create_book_entry(mi, cover=cover, add_duplicates=add_duplicates, force_id=force_id)
if ret is not None:
self.data.books_added((ret,))
return ret
@ -217,6 +218,7 @@ class LibraryDatabase(object):
paths.append(path)
duplicates = (paths, formats, metadata)
ids = book_ids if return_ids else len(book_ids)
if book_ids:
self.data.books_added(book_ids)
return duplicates or None, ids
@ -229,6 +231,7 @@ class LibraryDatabase(object):
format_map[ext] = path
book_ids, duplicates = self.new_api.add_books(
[(mi, format_map)], add_duplicates=True, apply_import_tags=apply_import_tags, preserve_uuid=preserve_uuid, dbapi=self, run_hooks=import_hooks)
if book_ids:
self.data.books_added(book_ids)
if notify:
self.notify('add', book_ids)
@ -250,11 +253,13 @@ class LibraryDatabase(object):
def add_catalog(self, path, title):
book_id = add_catalog(self.new_api, path, title)
if book_id is not None:
self.data.books_added((book_id,))
return book_id
def add_news(self, path, arg):
book_id = add_news(self.new_api, path, arg)
if book_id is not None:
self.data.books_added((book_id,))
return book_id