mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-07 18:24:30 -04: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
@ -54,7 +54,12 @@ class CHMInput(InputFormatPlugin):
|
||||
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 @@ class CHMInput(InputFormatPlugin):
|
||||
for node in root.xpath('//object'):
|
||||
self.add_node(node, toc, ancestor_map)
|
||||
return toc
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user