From 0cc0771147a32e309d865f50f6aed58bdfe146a5 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 26 Apr 2013 09:16:17 +0530 Subject: [PATCH] When checking if a zip/rar file is a comic or contains a single ebook to be auto-extracted, ignore thumbs.db files inside the archive --- src/calibre/ebooks/metadata/archive.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/calibre/ebooks/metadata/archive.py b/src/calibre/ebooks/metadata/archive.py index 531a725c4b..daa19b6958 100644 --- a/src/calibre/ebooks/metadata/archive.py +++ b/src/calibre/ebooks/metadata/archive.py @@ -13,7 +13,8 @@ from calibre.customize import FileTypePlugin from calibre.utils.zipfile import ZipFile, stringFileHeader def is_comic(list_of_names): - extensions = set([x.rpartition('.')[-1].lower() for x in list_of_names]) + extensions = set([x.rpartition('.')[-1].lower() for x in list_of_names + if '.' in x and x.lower().rpartition('/')[-1] != 'thumbs.db']) comic_extensions = set(['jpg', 'jpeg', 'png']) return len(extensions - comic_extensions) == 0 @@ -58,7 +59,7 @@ class ArchiveExtract(FileTypePlugin): else: fnames = zf.namelist() - fnames = [x for x in fnames if '.' in x] + fnames = [x for x in fnames if '.' in x and x.lower().rpartition('/')[-1] != 'thumbs.db'] if is_comic(fnames): ext = '.cbr' if is_rar else '.cbz' of = self.temporary_file('_archive_extract'+ext)