fixup_whats_new_pr.py
46 lines
| 1.1 KiB
| text/x-python
|
PythonLexer
/ tools / fixup_whats_new_pr.py
Matthias Bussonnier
|
r24523 | """ | ||
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() | ||||
Matthias Bussonnier
|
r24535 | try: | ||
if data and data.splitlines()[1].startswith('='): | ||||
continue | ||||
except IndexError: | ||||
pass | ||||
Matthias Bussonnier
|
r24523 | |||
with open(filename, 'w') as f: | ||||
f.write(title+'\n') | ||||
f.write('='* len(title)+'\n\n') | ||||
f.write(data) | ||||
if __name__ == '__main__': | ||||
main() | ||||