forked from ipython/ipython
-
Notifications
You must be signed in to change notification settings - Fork 2
/
fixup_whats_new_pr.py
46 lines (32 loc) · 1.14 KB
/
fixup_whats_new_pr.py
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
"""
This tool is used during CI testing to make sure sphinx raise no error.
During development, we like to have whatsnew/pr/*.rst documents to track
individual new features. Unfortunately they other either:
- have no title (sphinx complains)
- are not included in any toctree (sphinx complain)
This fix-them up by "inventing" a title, before building the docs. At release
time, these title and files will anyway be rewritten into the actual release
notes.
"""
import glob
def main():
folder = 'docs/source/whatsnew/pr/'
assert folder.endswith('/')
files = glob.glob(folder+'*.rst')
print(files)
for filename in files:
print('Adding pseudo-title to:', filename)
title = filename[:-4].split('/')[-1].replace('-', ' ').capitalize()
with open(filename) as f:
data = f.read()
try:
if data and data.splitlines()[1].startswith('='):
continue
except IndexError:
pass
with open(filename, 'w') as f:
f.write(title+'\n')
f.write('='* len(title)+'\n\n')
f.write(data)
if __name__ == '__main__':
main()