##// END OF EJS Templates
use pathlib in fixup_whats_new_pr.py
use pathlib in fixup_whats_new_pr.py

File last commit:

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