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