diff --git a/src/calibre/ebooks/pdb/ereader/reader.py b/src/calibre/ebooks/pdb/ereader/reader.py index 77ca8d6933..ad1df98793 100644 --- a/src/calibre/ebooks/pdb/ereader/reader.py +++ b/src/calibre/ebooks/pdb/ereader/reader.py @@ -31,5 +31,5 @@ class Reader(FormatReader): def dump_pml(self): return self.reader.dump_pml() - def dump_images(self): - return self.reader.dump_images() + def dump_images(self, out_dir): + return self.reader.dump_images(out_dir) diff --git a/src/calibre/ebooks/pml/pmlconverter.py b/src/calibre/ebooks/pml/pmlconverter.py index 1505e5fc4b..b0d9ce1ec7 100644 --- a/src/calibre/ebooks/pml/pmlconverter.py +++ b/src/calibre/ebooks/pml/pmlconverter.py @@ -10,16 +10,10 @@ __docformat__ = 'restructuredtext en' import re -from calibre import my_unichr +from calibre import my_unichr, prepare_string_for_xml from calibre.ebooks.pdb.ereader import image_name PML_HTML_RULES = [ - # Any literal <, &, and > chars be escaped to avoid HTML issues (though - # and tags are handled specially later). - (re.compile(r'&'), lambda match: '&'), - (re.compile(r'<'), lambda match: '<'), - (re.compile(r'>'), lambda match: '>'), - # NOP-process all \x escapes, turning \\ into \ This keeps the regex # parsing simple while making sure that we don't try to honor \\x as \x # (and also makes sure we DO honor \\\x as \ followed by \x). @@ -83,7 +77,7 @@ PML_HTML_RULES = [ ] def pml_to_html(pml): - html = pml + html = prepare_string_for_xml(pml) for rule in PML_HTML_RULES: html = rule[0].sub(rule[1], html)