2021-06-03 11:43:42 +02:00
|
|
|
#!/usr/bin/env python3
|
|
|
|
|
|
|
|
# yt-dlp --help | make_readme.py
|
|
|
|
# This must be run in a console of correct width
|
2012-12-07 14:45:16 +01:00
|
|
|
import re
|
2022-04-12 00:32:57 +02:00
|
|
|
import sys
|
2012-12-07 14:45:16 +01:00
|
|
|
|
2012-12-07 21:40:06 +01:00
|
|
|
README_FILE = 'README.md'
|
2012-12-07 14:45:16 +01:00
|
|
|
|
2022-04-17 22:58:28 +02:00
|
|
|
OPTIONS_START = 'General Options:'
|
|
|
|
OPTIONS_END = 'CONFIGURATION'
|
|
|
|
EPILOG_START = 'See full documentation'
|
|
|
|
|
|
|
|
|
|
|
|
helptext = sys.stdin.read()
|
2014-01-05 04:44:29 +01:00
|
|
|
if isinstance(helptext, bytes):
|
|
|
|
helptext = helptext.decode('utf-8')
|
|
|
|
|
2022-04-17 22:58:28 +02:00
|
|
|
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])
|
2012-12-07 14:45:16 +01:00
|
|
|
|
2022-04-17 22:58:28 +02:00
|
|
|
with open(README_FILE, encoding='utf-8') as f:
|
|
|
|
readme = f.read()
|
2012-12-07 14:45:16 +01:00
|
|
|
|
2022-04-17 22:58:28 +02:00
|
|
|
header = readme[:readme.index(f'## {OPTIONS_START}')]
|
|
|
|
footer = readme[readme.index(f'# {OPTIONS_END}'):]
|
2012-12-07 14:45:16 +01:00
|
|
|
|
2022-04-11 17:10:28 +02:00
|
|
|
with open(README_FILE, 'w', encoding='utf-8') as f:
|
2022-04-17 22:58:28 +02:00
|
|
|
for part in (header, options, footer):
|
|
|
|
f.write(part)
|