From 6c310278c989ef5039e241d82169d9cc0b3464a2 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 11 Jul 2013 10:41:32 +0530 Subject: [PATCH] Log what type of ToC is used --- src/calibre/ebooks/docx/to_html.py | 2 +- src/calibre/ebooks/docx/toc.py | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/calibre/ebooks/docx/to_html.py b/src/calibre/ebooks/docx/to_html.py index be0576d2b9..05b4b7e9d3 100644 --- a/src/calibre/ebooks/docx/to_html.py +++ b/src/calibre/ebooks/docx/to_html.py @@ -279,7 +279,7 @@ class Convert(object): self.styles.resolve_numbering(numbering) def write(self, doc): - toc = create_toc(doc, self.body, self.resolved_link_map, self.styles, self.object_map) + toc = create_toc(doc, self.body, self.resolved_link_map, self.styles, self.object_map, self.log) raw = html.tostring(self.html, encoding='utf-8', doctype='') with open(os.path.join(self.dest_dir, 'index.html'), 'wb') as f: f.write(raw) diff --git a/src/calibre/ebooks/docx/toc.py b/src/calibre/ebooks/docx/toc.py index 5936d34355..314dc2479d 100644 --- a/src/calibre/ebooks/docx/toc.py +++ b/src/calibre/ebooks/docx/toc.py @@ -21,7 +21,7 @@ class Count(object): def __init__(self): self.val = 0 -def from_headings(body): +def from_headings(body, log): ' Create a TOC from headings in the document ' headings = ('h1', 'h2', 'h3') tocroot = TOC() @@ -58,6 +58,7 @@ def from_headings(body): level_prev[i] = None if len(tuple(tocroot.flat())) > 1: + log('Generating Table of Contents from headings') return tocroot def structure_toc(entries): @@ -98,7 +99,7 @@ def link_to_txt(a, styles, object_map): return tostring(a, method='text', with_tail=False, encoding=unicode).strip() -def from_toc(docx, link_map, styles, object_map): +def from_toc(docx, link_map, styles, object_map, log): toc_level = None level = 0 TI = namedtuple('TI', 'text anchor indent') @@ -132,9 +133,10 @@ def from_toc(docx, link_map, styles, object_map): ml = 0 toc.append(TI(txt, href[1:], ml)) if toc: + log('Found Word Table of Contents, using it to generate the Table of Contents') return structure_toc(toc) -def create_toc(docx, body, link_map, styles, object_map): - return from_toc(docx, link_map, styles, object_map) or from_headings(body) +def create_toc(docx, body, link_map, styles, object_map, log): + return from_toc(docx, link_map, styles, object_map, log) or from_headings(body, log)