diff --git a/src/calibre/db/legacy.py b/src/calibre/db/legacy.py index fff77948f8..a4d5a332e5 100644 --- a/src/calibre/db/legacy.py +++ b/src/calibre/db/legacy.py @@ -664,6 +664,11 @@ class LibraryDatabase(object): if changed and notify: self.notify('metadata', []) + def remove_cover(self, book_id, notify=True, commit=True): + self.new_api.set_cover({book_id:None}) + if notify: + self.notify('cover', [id]) + # Private interface {{{ def __iter__(self): for row in self.data.iterall(): diff --git a/src/calibre/db/tests/legacy.py b/src/calibre/db/tests/legacy.py index aa70a9bb1d..4f448b5113 100644 --- a/src/calibre/db/tests/legacy.py +++ b/src/calibre/db/tests/legacy.py @@ -345,6 +345,12 @@ class LegacyTest(BaseTest): self.assertEqual(cache.field_for('authors', bid), ('calibre',)) self.assertEqual(cache.field_for('tags', bid), (_('News'), 'Events', 'one', 'two')) + self.assertTrue(legacy.cover(1, index_is_id=True)) + self.assertTrue(legacy.has_cover(1)) + legacy.remove_cover(1) + self.assertFalse(legacy.has_cover(1)) + self.assertFalse(legacy.cover(1, index_is_id=True)) + legacy.delete_book(1) old.delete_book(1) self.assertNotIn(1, legacy.all_ids())