diff --git a/src/calibre/ebooks/chm/reader.py b/src/calibre/ebooks/chm/reader.py index fc65685273..0b4a1366d7 100644 --- a/src/calibre/ebooks/chm/reader.py +++ b/src/calibre/ebooks/chm/reader.py @@ -144,7 +144,7 @@ def ExtractFiles(self, output_dir=os.getcwdu(), debug_dump=False): import shutil shutil.copytree(output_dir, os.path.join(debug_dump, 'debug_dump')) for lpath in html_files: - with open(lpath, 'r+b') as f: + with lopen(lpath, 'r+b') as f: data = f.read() data = self._reformat(data, lpath) if isinstance(data, unicode_type): @@ -262,7 +262,7 @@ def _reformat(self, data, htmlpath): pass # do not prettify, it would reformat the
tags!
try:
- ans = str(soup)
+ ans = soup.decode_contents()
self.re_encoded_files.add(os.path.abspath(htmlpath))
return ans
except RuntimeError: