diff --git a/src/calibre/ebooks/fb2/fb2ml.py b/src/calibre/ebooks/fb2/fb2ml.py index 3bc3424c39..36e65f6f0e 100644 --- a/src/calibre/ebooks/fb2/fb2ml.py +++ b/src/calibre/ebooks/fb2/fb2ml.py @@ -67,14 +67,14 @@ class FB2MLizer(object): def fb2mlize_spine(self): self.image_hrefs = {} self.link_hrefs = {} - output = self.fb2_header() - output += self.get_cover_page() - output += u'ghji87yhjko0Caliblre-toc-placeholder-for-insertion-later8ujko0987yjk' - output += self.get_text() - output += self.fb2_body_footer() - output += self.fb2mlize_images() - output += self.fb2_footer() - output = output.replace(u'ghji87yhjko0Caliblre-toc-placeholder-for-insertion-later8ujko0987yjk', self.get_toc()) + output = [self.fb2_header()] + output.append(self.get_cover_page()) + output.append(u'ghji87yhjko0Caliblre-toc-placeholder-for-insertion-later8ujko0987yjk') + output.append(self.get_text()) + output.append(self.fb2_body_footer()) + output.append(self.fb2mlize_images()) + output.append(self.fb2_footer()) + output = ''.join(output).replace(u'ghji87yhjko0Caliblre-toc-placeholder-for-insertion-later8ujko0987yjk', self.get_toc()) return u'\n%s' % etree.tostring(etree.fromstring(output), encoding=unicode, pretty_print=True) def fb2_header(self): @@ -117,25 +117,25 @@ class FB2MLizer(object): return output def get_toc(self): - toc = u'' + toc = [u''] if self.opts.inline_toc: self.log.debug('Generating table of contents...') - toc += u'
%s
' % _('Table of Contents:') + toc.append(u'%s
' % _('Table of Contents:')) for item in self.oeb_book.toc: if item.href in self.link_hrefs.keys(): - toc += '\n' % (self.link_hrefs[item.href], item.title) + toc.append('\n' % (self.link_hrefs[item.href], item.title)) else: self.oeb.warn('Ignoring toc item: %s not found in document.' % item) - return toc + return ''.join(toc) def get_text(self): - text = u'' + text = [u''] for item in self.oeb_book.spine: self.log.debug('Converting %s to FictionBook2 XML' % item.href) stylizer = Stylizer(item.data, item.href, self.oeb_book, self.opts.output_profile) - text += self.add_page_anchor(item) + text.append(self.add_page_anchor(item)) text += self.dump_text(item.data.find(XHTML('body')), stylizer, item) - return text + return ''.join(text) def fb2_body_footer(self): return u'\n\n