E-book viewer; Fix a bug preventing the viewer from working when the temporary directory is a symlink (common on OS X). Fixes #1652541 [e-book viewer does not work w/Mac OS 10.12.3 Beta](https://bugs.launchpad.net/calibre/+bug/1652541)

This commit is contained in:
Kovid Goyal 2016-12-26 16:13:42 +05:30
parent 4317b2601f
commit bfa9c26c68
2 changed files with 2 additions and 2 deletions

View File

@ -139,7 +139,7 @@ class EbookIterator(BookmarksMixin):
self.delete_on_exit = [] self.delete_on_exit = []
self._tdir = TemporaryDirectory('_ebook_iter') self._tdir = TemporaryDirectory('_ebook_iter')
self.base = self._tdir.__enter__() self.base = os.path.realpath(self._tdir.__enter__())
self.book_format, self.pathtoopf, input_fmt = run_extract_book( self.book_format, self.pathtoopf, input_fmt = run_extract_book(
self.pathtoebook, self.base, only_input_plugin=only_input_plugin, view_kepub=view_kepub, processed=processed) self.pathtoebook, self.base, only_input_plugin=only_input_plugin, view_kepub=view_kepub, processed=processed)
self.opf = OPF(self.pathtoopf, os.path.dirname(self.pathtoopf)) self.opf = OPF(self.pathtoopf, os.path.dirname(self.pathtoopf))

View File

@ -76,7 +76,7 @@ class NetworkAccessManager(QNetworkAccessManager):
def set_book_data(self, root, spine): def set_book_data(self, root, spine):
self.orig_root = root self.orig_root = root
self.root = os.path.normcase(os.path.abspath(root)) self.root = normpath(root)
self.mime_map, self.single_pages, self.codec_map = {}, set(), {} self.mime_map, self.single_pages, self.codec_map = {}, set(), {}
for p in spine: for p in spine:
mt = getattr(p, 'mime_type', None) mt = getattr(p, 'mime_type', None)