mirror of
git://github.com/kovidgoyal/calibre.git
synced 2026-02-24 18:16:12 +01:00
CHM Input: Handle CHM files that have missing or empty root files.
Fixes #1697764 [Conversion from CHM fails](https://bugs.launchpad.net/calibre/+bug/1697764)
This commit is contained in:
parent
bab9ae844b
commit
3f0954f0c7
1 changed files with 6 additions and 3 deletions
|
|
@ -54,7 +54,12 @@ def convert(self, stream, options, file_ext, log, accelerators):
|
|||
debug_dump=debug_dump)
|
||||
mainpath = os.path.join(tdir, mainname)
|
||||
|
||||
metadata = get_metadata_from_reader(self._chm_reader)
|
||||
try:
|
||||
metadata = get_metadata_from_reader(self._chm_reader)
|
||||
except Exception:
|
||||
log.exception('Failed to read metadata, using filename')
|
||||
from calibre.ebooks.metadata.book.base import Metadata
|
||||
metadata = Metadata(os.path.basename(chm_name))
|
||||
encoding = self._chm_reader.get_encoding() or options.input_encoding or 'cp1252'
|
||||
self._chm_reader.CloseCHM()
|
||||
# print tdir, mainpath
|
||||
|
|
@ -194,5 +199,3 @@ def _process_nodes(self, root):
|
|||
for node in root.xpath('//object'):
|
||||
self.add_node(node, toc, ancestor_map)
|
||||
return toc
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue