mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-08 02:34:06 -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)
|
debug_dump=debug_dump)
|
||||||
mainpath = os.path.join(tdir, mainname)
|
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'
|
encoding = self._chm_reader.get_encoding() or options.input_encoding or 'cp1252'
|
||||||
self._chm_reader.CloseCHM()
|
self._chm_reader.CloseCHM()
|
||||||
# print tdir, mainpath
|
# print tdir, mainpath
|
||||||
@ -194,5 +199,3 @@ class CHMInput(InputFormatPlugin):
|
|||||||
for node in root.xpath('//object'):
|
for node in root.xpath('//object'):
|
||||||
self.add_node(node, toc, ancestor_map)
|
self.add_node(node, toc, ancestor_map)
|
||||||
return toc
|
return toc
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user