Show More
@@ -465,6 +465,25 b' def format(text, width, indent=0, keep=N' | |||
|
465 | 465 | else: |
|
466 | 466 | return text, pruned |
|
467 | 467 | |
|
468 | def getsections(blocks): | |
|
469 | '''return a list of (section name, nesting level, blocks) tuples''' | |
|
470 | nest = "" | |
|
471 | level = 0 | |
|
472 | secs = [] | |
|
473 | for b in blocks: | |
|
474 | if b['type'] == 'section': | |
|
475 | i = b['underline'] | |
|
476 | if i not in nest: | |
|
477 | nest += i | |
|
478 | level = nest.index(i) + 1 | |
|
479 | nest = nest[:level] | |
|
480 | secs.append((b['lines'][0], level, [b])) | |
|
481 | else: | |
|
482 | if not secs: | |
|
483 | # add an initial empty section | |
|
484 | secs = [('', 0, [])] | |
|
485 | secs[-1][2].append(b) | |
|
486 | return secs | |
|
468 | 487 | |
|
469 | 488 | if __name__ == "__main__": |
|
470 | 489 | from pprint import pprint |
General Comments 0
You need to be logged in to leave comments.
Login now