summaryrefslogtreecommitdiff
path: root/Doc/tools
diff options
context:
space:
mode:
Diffstat (limited to 'Doc/tools')
-rw-r--r--Doc/tools/prechm.py16
-rwxr-xr-xDoc/tools/toc2bkm.py19
2 files changed, 34 insertions, 1 deletions
diff --git a/Doc/tools/prechm.py b/Doc/tools/prechm.py
index 7b2f3936ce..57a43fd6fe 100644
--- a/Doc/tools/prechm.py
+++ b/Doc/tools/prechm.py
@@ -150,6 +150,22 @@ class Book:
# Library Doc list of books:
# each 'book' : (Dir, Title, First page, Content page, Index page)
supported_libraries = {
+ '2.5':
+ [
+ Book('.', 'Main page', 'index'),
+ Book('.', 'Global Module Index', 'modindex'),
+ Book('whatsnew', "What's New", 'index', 'contents'),
+ Book('tut','Tutorial','tut','node2'),
+ Book('lib','Library Reference','lib','contents','genindex'),
+ Book('ref','Language Reference','ref','contents','genindex'),
+ Book('mac','Macintosh Reference','mac','contents','genindex'),
+ Book('ext','Extending and Embedding','ext','contents'),
+ Book('api','Python/C API','api','contents','genindex'),
+ Book('doc','Documenting Python','doc','contents'),
+ Book('inst','Installing Python Modules', 'inst', 'index'),
+ Book('dist','Distributing Python Modules', 'dist', 'index', 'genindex'),
+ ],
+
'2.4':
[
Book('.', 'Main page', 'index'),
diff --git a/Doc/tools/toc2bkm.py b/Doc/tools/toc2bkm.py
index 636459a315..ab669ba959 100755
--- a/Doc/tools/toc2bkm.py
+++ b/Doc/tools/toc2bkm.py
@@ -44,6 +44,20 @@ _transition_map = {
INCLUDED_LEVELS = ("chapter", "section", "subsection", "subsubsection")
+class BadSectionNesting(Exception):
+ """Raised for unsupported section level transitions."""
+
+ def __init__(self, level, newsection, path, lineno):
+ self.level = level
+ self.newsection = newsection
+ self.path = path
+ self.lineno = lineno
+
+ def __str__(self):
+ return ("illegal transition from %s to %s at %s (line %s)"
+ % (self.level, self.newsection, self.path, self.lineno))
+
+
def parse_toc(fp, bigpart=None):
toc = top = []
stack = [toc]
@@ -65,7 +79,10 @@ def parse_toc(fp, bigpart=None):
if stype not in INCLUDED_LEVELS:
# we don't want paragraphs & subparagraphs
continue
- direction = _transition_map[(level, stype)]
+ try:
+ direction = _transition_map[(level, stype)]
+ except KeyError:
+ raise BadSectionNesting(level, stype, fp.name, lineno)
if direction == OUTER_TO_INNER:
toc = toc[-1][-1]
stack.insert(0, toc)