Hide keyboard shortcuts

Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1""" 

2@file 

3@brief Helpers about readme. 

4""" 

5 

6 

7def clean_readme(content): 

8 """ 

9 Clean instructions such as ``.. only:: html``. 

10 

11 @param content content of an rst file 

12 @return cleaned content 

13 """ 

14 lines = content.split("\n") 

15 indent = None 

16 less = None 

17 rows = [] 

18 for i, line in enumerate(lines): 

19 sline = line.lstrip() 

20 if sline.startswith(".. only:: html"): 

21 indent = len(line) - len(sline) 

22 continue 

23 if indent is None: 

24 rows.append(line) 

25 continue 

26 exp = indent * " " 

27 if len(line) > indent + 1 and line[:indent] == exp: 

28 if line[indent] == " ": 

29 blank = sline.strip() 

30 if len(blank) == 0: 

31 rows.append("") # pragma: no cover 

32 continue # pragma: no cover 

33 if less is None: 

34 less = len(line) - len(sline) 

35 if less == indent: 

36 raise ValueError( # pragma: no cover 

37 "Wrong format at line {0}\n{1}".format( 

38 i, content)) 

39 new_line = line[less - indent:] 

40 rows.append(new_line) 

41 else: 

42 rows.append(line) 

43 indent = None 

44 less = None 

45 else: 

46 rows.append(line) 

47 return "\n".join(rows)