From a2e76a5993da9a9b0aa0471c8b0929d5a6f6f9c4 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 18 Jan 2012 11:09:50 +0530 Subject: [PATCH] ... --- src/calibre/db/cache.py | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/src/calibre/db/cache.py b/src/calibre/db/cache.py index e79d496cd9..10fe0bb014 100644 --- a/src/calibre/db/cache.py +++ b/src/calibre/db/cache.py @@ -14,6 +14,7 @@ from functools import wraps, partial from calibre.db.locking import create_locks, RecordLock from calibre.db.fields import create_field from calibre.db.tables import VirtualTable +from calibre.db.lazy import FormatMetadata, FormatsList from calibre.ebooks.metadata.book.base import Metadata from calibre.utils.date import now @@ -127,14 +128,8 @@ class Cache(object): if not formats: good_formats = None else: - good_formats = [] - for f in formats: - try: - mi.format_metadata[f] = self._format_metadata(book_id, f) - except: - pass - else: - good_formats.append(f) + mi.format_metadata = FormatMetadata(self, id, formats) + good_formats = FormatsList(formats, mi.format_metadata) mi.formats = good_formats mi.has_cover = _('Yes') if self._field_for('cover', book_id, default_value=False) else ''