mirror of
git://github.com/kovidgoyal/calibre.git
synced 2026-05-05 06:13:41 +02:00
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:
parent
c075b6b401
commit
8713ebb0b1
1 changed files with 10 additions and 5 deletions
|
|
@ -202,7 +202,8 @@ def abspath(self, index, index_is_id=False, create_dirs=True):
|
|||
# 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)
|
||||
self.data.books_added((ret,))
|
||||
if ret is not None:
|
||||
self.data.books_added((ret,))
|
||||
return ret
|
||||
|
||||
def add_books(self, paths, formats, metadata, add_duplicates=True, return_ids=False):
|
||||
|
|
@ -217,7 +218,8 @@ def add_books(self, paths, formats, metadata, add_duplicates=True, return_ids=Fa
|
|||
paths.append(path)
|
||||
duplicates = (paths, formats, metadata)
|
||||
ids = book_ids if return_ids else len(book_ids)
|
||||
self.data.books_added(book_ids)
|
||||
if book_ids:
|
||||
self.data.books_added(book_ids)
|
||||
return duplicates or None, ids
|
||||
|
||||
def import_book(self, mi, formats, notify=True, import_hooks=True, apply_import_tags=True, preserve_uuid=False):
|
||||
|
|
@ -229,7 +231,8 @@ def import_book(self, mi, formats, notify=True, import_hooks=True, apply_import_
|
|||
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)
|
||||
self.data.books_added(book_ids)
|
||||
if book_ids:
|
||||
self.data.books_added(book_ids)
|
||||
if notify:
|
||||
self.notify('add', book_ids)
|
||||
return book_ids[0]
|
||||
|
|
@ -250,12 +253,14 @@ def recursive_import(self, root, single_book_per_directory=True,
|
|||
|
||||
def add_catalog(self, path, title):
|
||||
book_id = add_catalog(self.new_api, path, title)
|
||||
self.data.books_added((book_id,))
|
||||
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)
|
||||
self.data.books_added((book_id,))
|
||||
if book_id is not None:
|
||||
self.data.books_added((book_id,))
|
||||
return book_id
|
||||
|
||||
def add_format(self, index, fmt, stream, index_is_id=False, path=None, notify=True, replace=True, copy_function=None):
|
||||
|
|
|
|||
Loading…
Reference in a new issue