mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Add tests for covers
This commit is contained in:
parent
c85b98168a
commit
4943f36748
@ -17,9 +17,12 @@ class BaseTest(unittest.TestCase):
|
|||||||
if LibraryDatabase2.exists_at(library_path):
|
if LibraryDatabase2.exists_at(library_path):
|
||||||
raise ValueError('A library already exists at %r'%library_path)
|
raise ValueError('A library already exists at %r'%library_path)
|
||||||
src = os.path.join(os.path.dirname(__file__), 'metadata.db')
|
src = os.path.join(os.path.dirname(__file__), 'metadata.db')
|
||||||
db = os.path.join(library_path, 'metadata.db')
|
dest = os.path.join(library_path, 'metadata.db')
|
||||||
shutil.copyfile(src, db)
|
shutil.copyfile(src, dest)
|
||||||
return db
|
db = LibraryDatabase2(library_path)
|
||||||
|
db.set_cover(1, I('lt.png', data=True))
|
||||||
|
db.set_cover(2, I('polish.png', data=True))
|
||||||
|
return dest
|
||||||
|
|
||||||
def init_cache(self, library_path):
|
def init_cache(self, library_path):
|
||||||
from calibre.db.backend import DB
|
from calibre.db.backend import DB
|
||||||
@ -36,7 +39,8 @@ class BaseTest(unittest.TestCase):
|
|||||||
|
|
||||||
all_keys = {'format_metadata', 'id', 'application_id',
|
all_keys = {'format_metadata', 'id', 'application_id',
|
||||||
'author_sort_map', 'author_link_map', 'book_size',
|
'author_sort_map', 'author_link_map', 'book_size',
|
||||||
'ondevice_col', 'last_modified'}.union(allfk1)
|
'ondevice_col', 'last_modified', 'has_cover',
|
||||||
|
'cover_data'}.union(allfk1)
|
||||||
for attr in all_keys:
|
for attr in all_keys:
|
||||||
if attr == 'user_metadata': continue
|
if attr == 'user_metadata': continue
|
||||||
if attr == 'format_metadata': continue # TODO: Not implemented yet
|
if attr == 'format_metadata': continue # TODO: Not implemented yet
|
||||||
|
@ -178,13 +178,15 @@ class ReadingTest(BaseTest):
|
|||||||
old.add_format(i, 'text%d'%i, StringIO(b'random%d'%i),
|
old.add_format(i, 'text%d'%i, StringIO(b'random%d'%i),
|
||||||
index_is_id=True)
|
index_is_id=True)
|
||||||
|
|
||||||
old_metadata = {i:old.get_metadata(i, index_is_id=True) for i in
|
old_metadata = {i:old.get_metadata(
|
||||||
|
i, index_is_id=True, get_cover=True, cover_as_data=True) for i in
|
||||||
xrange(1, 4)}
|
xrange(1, 4)}
|
||||||
old = None
|
old = None
|
||||||
|
|
||||||
cache = self.init_cache(self.library_path)
|
cache = self.init_cache(self.library_path)
|
||||||
|
|
||||||
new_metadata = {i:cache.get_metadata(i) for i in xrange(1, 4)}
|
new_metadata = {i:cache.get_metadata(
|
||||||
|
i, get_cover=True, cover_as_data=True) for i in xrange(1, 4)}
|
||||||
cache = None
|
cache = None
|
||||||
for mi2, mi1 in zip(new_metadata.values(), old_metadata.values()):
|
for mi2, mi1 in zip(new_metadata.values(), old_metadata.values()):
|
||||||
self.compare_metadata(mi1, mi2)
|
self.compare_metadata(mi1, mi2)
|
||||||
|
@ -1134,6 +1134,8 @@ class LibraryDatabase2(LibraryDatabase, SchemaUpgrade, CustomColumns):
|
|||||||
base_path = os.path.join(self.library_path, self.path(id,
|
base_path = os.path.join(self.library_path, self.path(id,
|
||||||
index_is_id=True))
|
index_is_id=True))
|
||||||
self.dirtied([id])
|
self.dirtied([id])
|
||||||
|
if not os.path.exists(base_path):
|
||||||
|
os.makedirs(base_path)
|
||||||
|
|
||||||
path = os.path.join(base_path, 'cover.jpg')
|
path = os.path.join(base_path, 'cover.jpg')
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user