mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Fix adding of books in newdb
This commit is contained in:
parent
c73123fcee
commit
179c28e328
@ -200,7 +200,9 @@ class LibraryDatabase(object):
|
|||||||
|
|
||||||
# Adding books {{{
|
# Adding books {{{
|
||||||
def create_book_entry(self, mi, cover=None, add_duplicates=True, force_id=None):
|
def create_book_entry(self, mi, cover=None, add_duplicates=True, force_id=None):
|
||||||
return self.new_api.create_book_entry(mi, cover=cover, add_duplicates=add_duplicates, force_id=force_id)
|
ret = self.new_api.create_book_entry(mi, cover=cover, add_duplicates=add_duplicates, force_id=force_id)
|
||||||
|
self.data.books_added((ret,))
|
||||||
|
return ret
|
||||||
|
|
||||||
def add_books(self, paths, formats, metadata, add_duplicates=True, return_ids=False):
|
def add_books(self, paths, formats, metadata, add_duplicates=True, return_ids=False):
|
||||||
books = [(mi, {fmt:path}) for mi, path, fmt in zip(metadata, paths, formats)]
|
books = [(mi, {fmt:path}) for mi, path, fmt in zip(metadata, paths, formats)]
|
||||||
@ -214,6 +216,7 @@ class LibraryDatabase(object):
|
|||||||
paths.append(path)
|
paths.append(path)
|
||||||
duplicates = (paths, formats, metadata)
|
duplicates = (paths, formats, metadata)
|
||||||
ids = book_ids if return_ids else len(book_ids)
|
ids = book_ids if return_ids else len(book_ids)
|
||||||
|
self.data.books_added(book_ids)
|
||||||
return duplicates or None, ids
|
return duplicates or None, ids
|
||||||
|
|
||||||
def import_book(self, mi, formats, notify=True, import_hooks=True, apply_import_tags=True, preserve_uuid=False):
|
def import_book(self, mi, formats, notify=True, import_hooks=True, apply_import_tags=True, preserve_uuid=False):
|
||||||
@ -225,6 +228,7 @@ class LibraryDatabase(object):
|
|||||||
format_map[ext] = path
|
format_map[ext] = path
|
||||||
book_ids, duplicates = self.new_api.add_books(
|
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)
|
[(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 notify:
|
if notify:
|
||||||
self.notify('add', book_ids)
|
self.notify('add', book_ids)
|
||||||
return book_ids[0]
|
return book_ids[0]
|
||||||
@ -244,10 +248,14 @@ class LibraryDatabase(object):
|
|||||||
return recursive_import(self, root, single_book_per_directory=single_book_per_directory, callback=callback, added_ids=added_ids)
|
return recursive_import(self, root, single_book_per_directory=single_book_per_directory, callback=callback, added_ids=added_ids)
|
||||||
|
|
||||||
def add_catalog(self, path, title):
|
def add_catalog(self, path, title):
|
||||||
return add_catalog(self.new_api, path, title)
|
book_id = add_catalog(self.new_api, path, title)
|
||||||
|
self.data.books_added((book_id,))
|
||||||
|
return book_id
|
||||||
|
|
||||||
def add_news(self, path, arg):
|
def add_news(self, path, arg):
|
||||||
return add_news(self.new_api, path, arg)
|
book_id = add_news(self.new_api, path, arg)
|
||||||
|
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):
|
def add_format(self, index, fmt, stream, index_is_id=False, path=None, notify=True, replace=True, copy_function=None):
|
||||||
''' path and copy_function are ignored by the new API '''
|
''' path and copy_function are ignored by the new API '''
|
||||||
|
@ -353,3 +353,8 @@ class View(object):
|
|||||||
for book_id in ids:
|
for book_id in ids:
|
||||||
self.remove(book_id)
|
self.remove(book_id)
|
||||||
|
|
||||||
|
def books_added(self, ids):
|
||||||
|
ids = tuple(ids)
|
||||||
|
self._map = ids + self._map
|
||||||
|
self._map_filtered = ids + self._map_filtered
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user