From a07585ef253b1a595652085d403eb92f8f4607e9 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 30 Dec 2009 14:18:44 -0700 Subject: [PATCH] MOBI metadata: Don't leave around a styles.css file when trying to extract embedded metadata --- src/calibre/ebooks/mobi/reader.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/calibre/ebooks/mobi/reader.py b/src/calibre/ebooks/mobi/reader.py index 1f6c8d6ca5..1a648c4d9b 100644 --- a/src/calibre/ebooks/mobi/reader.py +++ b/src/calibre/ebooks/mobi/reader.py @@ -21,7 +21,7 @@ except ImportError: from lxml import html, etree -from calibre import entity_to_unicode +from calibre import entity_to_unicode, CurrentDir from calibre.utils.filenames import ascii_filename from calibre.ptempfile import TemporaryDirectory from calibre.ebooks import DRMError @@ -790,11 +790,12 @@ def get_metadata(stream): mi = mh.exth.mi else: with TemporaryDirectory('_mobi_meta_reader') as tdir: - mr = MobiReader(stream, log) - parse_cache = {} - mr.extract_content(tdir, parse_cache) - if mr.embedded_mi is not None: - mi = mr.embedded_mi + with CurrentDir(tdir): + mr = MobiReader(stream, log) + parse_cache = {} + mr.extract_content(tdir, parse_cache) + if mr.embedded_mi is not None: + mi = mr.embedded_mi if hasattr(mh.exth, 'cover_offset'): cover_index = mh.first_image_index + mh.exth.cover_offset data = mh.section_data(int(cover_index))