From 8acc80504b38afd0359900df640d03e5b4b2f8ad Mon Sep 17 00:00:00 2001 From: Andre D Date: Tue, 29 Jan 2013 23:25:26 -0500 Subject: [PATCH] wikitoc: Fix some headers ending up at the wrong level. --- r2/r2/lib/filters.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/r2/r2/lib/filters.py b/r2/r2/lib/filters.py index a886180ac..9331031de 100644 --- a/r2/r2/lib/filters.py +++ b/r2/r2/lib/filters.py @@ -279,6 +279,7 @@ def inject_table_of_contents(soup, prefix): return tocdiv = Tag(soup, "div", [("class", "toc")]) parent = Tag(soup, "ul") + parent.level = 0 tocdiv.append(parent) level = 0 previous = 0 @@ -314,12 +315,14 @@ def inject_table_of_contents(soup, prefix): if previous and thislevel > previous: newul = Tag(soup, "ul") + newul.level = thislevel parent.append(newul) parent = newul level += 1 elif level and thislevel < previous: - parent = parent.findParent("ul") - level -= 1 + while level and parent.level > thislevel: + parent = parent.findParent("ul") + level -= 1 previous = thislevel parent.append(li)