File: fold_toc.py

package info (click to toggle)
statsmodels 0.8.0-9
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 35,236 kB
  • sloc: python: 159,888; ansic: 316; makefile: 246; asm: 156; sh: 19
file content (57 lines) | stat: -rwxr-xr-x 1,461 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#!/usr/bin/env python
import sys
import re

# Read doc to string
filename = sys.argv[1]
try:
    static_path = sys.argv[2]
except:
    static_path = '_static'
doc = open(filename).read()

# Add mktree to head
pre = '<head>'
post = '''<head>
    <script type="text/javascript" src="static_path/mktree.js"></script>
    <link rel="stylesheet" href="static_path/mktree.css" type="text/css">
'''
post = re.sub('static_path', static_path, post)
doc = re.sub(pre, post, doc)

# TOC class
pre = '''<div class="toctree-wrapper compound">
<ul>'''
post = '''<div class="toctree-wrapper compound">
<a onclick="expandTree('toctree#')" href="javascript:void(0);">Expand all. </a>
<a onclick="collapseTree('toctree#')" href="javascript:void(0);">Collapse all.</a>
<ul class="mktree" id="toctree#">'''
toc_n = doc.count('toctree-wrapper')
for i in range(toc_n):
    post_n = re.sub('#', str(i), post)
    doc = re.sub(pre, post_n, doc, count=1)

## TOC entries
pre = '<li class="toctree-l1">'
post = '<li class="liClosed"> '
doc =  re.sub(pre, post, doc)

# TOC entries 2nd level
pre = '<li class="toctree-l2">'
post = '<li class="liClosed"> '
doc =  re.sub(pre, post, doc)

# TOC entries 3rd level
pre = '<li class="toctree-l3">'
post = '<li class="liClosed"> '
doc =  re.sub(pre, post, doc)

# TOC entries 4th level
pre = '<li class="toctree-l4">'
post = '<li class="liClosed"> '
doc =  re.sub(pre, post, doc)

# Write to file
f = open(filename, 'w')
f.write(doc)
f.close()