comparison docs/test2rst.py @ 2951:2ddc63d13af8

Backed out changeset 1b4c92621e23 This got published by mistake.
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Thu, 21 Sep 2017 10:39:49 +0200
parents 1b4c92621e23
children 1cb715257130
comparison
equal deleted inserted replaced
2950:1b4c92621e23 2951:2ddc63d13af8
15 15
16 def rstify(orig, name): 16 def rstify(orig, name):
17 newlines = [] 17 newlines = []
18 18
19 code_block_mode = False 19 code_block_mode = False
20 sphinx_directive_mode = False
21 20
22 for line in orig.splitlines(): 21 for line in orig.splitlines():
23 22
24 # Emtpy lines doesn't change output 23 # Emtpy lines doesn't change output
25 if not line: 24 if not line:
26 newlines.append(line) 25 newlines.append(line)
27 code_block_mode = False
28 sphinx_directive_mode = False
29 continue 26 continue
30 27
31 # Ignore line
32 if line.endswith('#ignore'):
33 continue
34
35 # Sphinx directives mode
36 if line.startswith(' .. '):
37
38 # Insert a empty line to makes sphinx happy
39 newlines.append("")
40
41 # And unindent the directive
42 line = line[2:]
43 sphinx_directive_mode = True
44
45 # Code mode
46 codeline = line.startswith(' ') 28 codeline = line.startswith(' ')
47 if codeline and not sphinx_directive_mode: 29 if codeline:
48 if code_block_mode is False: 30 if code_block_mode is False:
49 newlines.extend(['::', '']) 31 newlines.extend(['::', ''])
50 32
51 code_block_mode = True 33 code_block_mode = True
34 else:
35 code_block_mode = False
52 36
53 newlines.append(line) 37 newlines.append(line)
54 38
55 return "\n".join(newlines) 39 return "\n".join(newlines)
56 40