From 44822799be45ae6de6098bdfc159ff8ba0b173d7 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sat, 29 Mar 2014 08:25:16 +0530 Subject: [PATCH] Fix insert Inline ToC creating non-linear jumps in class names --- src/calibre/ebooks/oeb/polish/toc.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/calibre/ebooks/oeb/polish/toc.py b/src/calibre/ebooks/oeb/polish/toc.py index ea19d27678..967c6cc34f 100644 --- a/src/calibre/ebooks/oeb/polish/toc.py +++ b/src/calibre/ebooks/oeb/polish/toc.py @@ -494,7 +494,7 @@ def create_inline_toc(container, title=None): return None toc_name = find_inline_toc(container) - def process_node(html_parent, toc, level=1, indent=' '): + def process_node(html_parent, toc, level=1, indent=' ', style_level=2): li = html_parent.makeelement(XHTML('li')) li.tail = '\n'+ (indent*level) html_parent.append(li) @@ -509,13 +509,13 @@ def create_inline_toc(container, title=None): li.append(a) if len(toc) > 0: parent = li.makeelement(XHTML('ul')) - parent.set('class', 'level%d' % (level + 1)) + parent.set('class', 'level%d' % (style_level)) li.append(parent) a.tail = '\n\n' + (indent*(level+2)) parent.text = '\n'+(indent*(level+3)) parent.tail = '\n\n' + (indent*(level+1)) for child in toc: - process_node(parent, child, level+3) + process_node(parent, child, level+3, style_level=style_level + 1) parent[-1].tail = '\n' + (indent*(level+2)) E = ElementMaker(namespace=XHTML_NS, nsmap={None:XHTML_NS})