From c82ec4e2fb8656d47ec9108660e675cac66679a8 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 20 Nov 2011 18:23:06 +0530 Subject: [PATCH] ... --- src/calibre/ebooks/oeb/base.py | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/calibre/ebooks/oeb/base.py b/src/calibre/ebooks/oeb/base.py index 0daf0d4e7a..e7dd071962 100644 --- a/src/calibre/ebooks/oeb/base.py +++ b/src/calibre/ebooks/oeb/base.py @@ -965,16 +965,22 @@ class Manifest(object): try: data = etree.fromstring(data, parser=parser) except etree.XMLSyntaxError: - self.oeb.logger.warn('Stripping comments and meta tags from %s'% + self.oeb.logger.warn('Stripping comments from %s'% self.href) data = re.compile(r'', re.DOTALL).sub('', data) - data = re.sub(r']+?>', '', data) data = data.replace( - "", - '') + "", + '') data = data.replace("", '') - data = etree.fromstring(data, parser=RECOVER_PARSER) + try: + data = etree.fromstring(data, + parser=RECOVER_PARSER) + except etree.XMLSyntaxError: + self.oeb.logger.warn('Stripping meta tags from %s'% + self.href) + data = re.sub(r']+?>', '', data) + data = etree.fromstring(data, parser=RECOVER_PARSER) elif namespace(data.tag) != XHTML_NS: # OEB_DOC_NS, but possibly others ns = namespace(data.tag)