""" 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()