When bulk downloading metadata and the user deletes one of the books for which metadata is being downloaded, just ignore it, instead of erroring out

This commit is contained in:
Kovid Goyal 2012-05-28 21:16:53 +05:30
parent 4017e381a0
commit b4d6e46057
2 changed files with 16 additions and 12 deletions

View File

@ -132,7 +132,7 @@ class EditMetadataAction(InterfaceAction):
for i in good_ids:
lm = db.metadata_last_modified(i, index_is_id=True)
if lm > lm_map[i]:
if lm is not None and lm_map[i] is not None and lm > lm_map[i]:
title = db.title(i, index_is_id=True)
authors = db.authors(i, index_is_id=True)
if authors:
@ -516,6 +516,7 @@ class EditMetadataAction(InterfaceAction):
return self.finalize_apply()
i, mi = self.apply_id_map[self.apply_current_idx]
if self.gui.current_db.has_id(i):
if isinstance(mi, tuple):
opf, cover = mi
if opf:

View File

@ -1023,6 +1023,9 @@ class LibraryDatabase2(LibraryDatabase, SchemaUpgrade, CustomColumns):
return bool(self.conn.get('SELECT id FROM books where title=?', (title,), all=False))
return False
def has_id(self, id_):
return self.data._data[id_] is not None
def books_with_same_title(self, mi, all_matches=True):
title = mi.title
ans = set()