30 lines
822 B
Python
Executable file
30 lines
822 B
Python
Executable file
#!/usr/bin/env python3
|
|
|
|
# yt-dlp --help | make_readme.py
|
|
# This must be run in a console of correct width
|
|
import re
|
|
import sys
|
|
|
|
README_FILE = 'README.md'
|
|
|
|
OPTIONS_START = 'General Options:'
|
|
OPTIONS_END = 'CONFIGURATION'
|
|
EPILOG_START = 'See full documentation'
|
|
|
|
|
|
helptext = sys.stdin.read()
|
|
if isinstance(helptext, bytes):
|
|
helptext = helptext.decode('utf-8')
|
|
|
|
start, end = helptext.index(f'\n {OPTIONS_START}'), helptext.index(f'\n{EPILOG_START}')
|
|
options = re.sub(r'(?m)^ (\w.+)$', r'## \1', helptext[start + 1: end + 1])
|
|
|
|
with open(README_FILE, encoding='utf-8') as f:
|
|
readme = f.read()
|
|
|
|
header = readme[:readme.index(f'## {OPTIONS_START}')]
|
|
footer = readme[readme.index(f'# {OPTIONS_END}'):]
|
|
|
|
with open(README_FILE, 'w', encoding='utf-8') as f:
|
|
for part in (header, options, footer):
|
|
f.write(part)
|