From 1f86d92f7a5c8872ad13d4febadcd8e87c7e9e35 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 14 Apr 2019 15:14:24 +0530 Subject: [PATCH] py3: Port thumbnail cache All db tests now pass on python3 --- src/calibre/db/utils.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/calibre/db/utils.py b/src/calibre/db/utils.py index 657ed232ef..90c960fd68 100644 --- a/src/calibre/db/utils.py +++ b/src/calibre/db/utils.py @@ -164,7 +164,7 @@ class ThumbnailCache(object): invalidate = set() try: with open(os.path.join(self.location, 'invalidate'), 'rb') as f: - raw = f.read() + raw = f.read().decode('utf-8') except EnvironmentError as err: if getattr(err, 'errno', None) != errno.ENOENT: self.log('Failed to read thumbnail invalidate data:', as_unicode(err)) @@ -208,7 +208,7 @@ class ThumbnailCache(object): def _invalidate_sizes(self): if self.size_changed: size = self.thumbnail_size - remove = (key for key, entry in iteritems(self.items) if size != entry.thumbnail_size) + remove = tuple(key for key, entry in iteritems(self.items) if size != entry.thumbnail_size) for key in remove: self._remove(key) self.size_changed = False