Fix #3061 (TOC not created converting from FB2)

This commit is contained in:
Kovid Goyal
2009-08-03 13:01:52 -06:00
parent cbb1407bd0
commit 31d46786e5
3 changed files with 14 additions and 1 deletions
+9
View File
@@ -158,6 +158,13 @@ class LRFOutput(OutputFormatPlugin):
book.renderLrf(open(opts.output, 'wb'))
def flatten_toc(self):
from calibre.ebooks.oeb.base import TOC
nroot = TOC()
for x in self.oeb.toc.iterdescendants():
nroot.add(x.title, x.href)
self.oeb.toc = nroot
def convert(self, oeb, output_path, input_plugin, opts, log):
self.log, self.opts, self.oeb = log, opts, oeb
@@ -169,6 +176,8 @@ class LRFOutput(OutputFormatPlugin):
getattr(opts, 'wide', False))
return
self.flatten_toc()
from calibre.ptempfile import TemporaryDirectory
with TemporaryDirectory('_lrf_output') as tdir:
from calibre.customize.ui import plugin_for_output_format
+3 -1
View File
@@ -134,7 +134,6 @@ class Adder(QObject):
mi.title = os.path.splitext(name)[0]
mi.title = mi.title if isinstance(mi.title, unicode) else \
mi.title.decode(preferred_encoding, 'replace')
self.pd.set_msg(_('Added')+' '+mi.title)
if self.db is not None:
if cover:
@@ -153,6 +152,9 @@ class Adder(QObject):
'cover':None,
'tags':mi.tags if mi.tags else []})
self.pd.set_msg(_('Added')+' '+mi.title)
def process_duplicates(self):
if not self.duplicates:
return
+2
View File
@@ -54,6 +54,8 @@ def get_metadata(stream, cover=True):
if cdata is not None:
mi.cover_data = ('jpg', cdata)
del doc
del raw
return mi