##// END OF EJS Templates
Restore some functionality of the sphinx directive....
Restore some functionality of the sphinx directive. See #11362 The issue is in 2 part, before IPython 7.0 the input splitter was state full, this was (in part) due to readline. The second part is that because of this, we had to be a bit adressive of what was considered complete code (it had to have 2 new line). This is now not required anymore as we can submit stuff as a whole. I hope that this fixes that. I have another fix in mind that count (and reset) the number of consecutive blank line, but that will be more complicated end code.

File last commit:

r24535:23eb6b09
r24710:73f493f5
Show More
fixup_whats_new_pr.py
46 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.
"""
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()
try:
if data and data.splitlines()[1].startswith('='):
continue
except IndexError:
pass
with open(filename, 'w') as f:
f.write(title+'\n')
f.write('='* len(title)+'\n\n')
f.write(data)
if __name__ == '__main__':
main()