fixup_whats_new_pr.py
39 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. | ||||
""" | ||||
rushabh-v
|
r26015 | from pathlib import Path | ||
Matthias Bussonnier
|
r24523 | |||
def main(): | ||||
rushabh-v
|
r26015 | folder = Path('docs/source/whatsnew/pr/') | ||
files = list(folder.glob('*.rst')) | ||||
Matthias Bussonnier
|
r24523 | print(files) | ||
rushabh-v
|
r26015 | for filepath in files: | ||
print('Adding pseudo-title to:', filepath.name) | ||||
title = filepath.name[:-4].split('/')[-1].replace('-', ' ').capitalize() | ||||
Matthias Bussonnier
|
r24523 | |||
rushabh-v
|
r26015 | data = filepath.read_text() | ||
Matthias Bussonnier
|
r24535 | try: | ||
if data and data.splitlines()[1].startswith('='): | ||||
continue | ||||
except IndexError: | ||||
pass | ||||
Matthias Bussonnier
|
r24523 | |||
rushabh-v
|
r26015 | with filepath.open('w') as f: | ||
Matthias Bussonnier
|
r24523 | f.write(title+'\n') | ||
f.write('='* len(title)+'\n\n') | ||||
f.write(data) | ||||
if __name__ == '__main__': | ||||
main() | ||||