]> jfr.im git - yt-dlp.git/blobdiff - devscripts/make_readme.py
[cleanup,build] Cleanup some build-related code
[yt-dlp.git] / devscripts / make_readme.py
index 73f203582aea4ef1f7f31576cfd11b50dc96ebfe..1401c2e5a74310c6873aa67a05c41b8bf95f9d3e 100755 (executable)
@@ -1,26 +1,30 @@
-from __future__ import unicode_literals
+#!/usr/bin/env python3
 
-import io
-import sys
+# yt-dlp --help | make_readme.py
+# This must be run in a console of correct width
 import re
+import sys
 
 README_FILE = 'README.md'
-helptext = sys.stdin.read()
 
+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')
 
-with io.open(README_FILE, encoding='utf-8') as f:
-    oldreadme = f.read()
+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])
 
-header = oldreadme[:oldreadme.index('# OPTIONS')]
-# footer = oldreadme[oldreadme.index('# CONFIGURATION'):]
+with open(README_FILE, encoding='utf-8') as f:
+    readme = f.read()
 
-options = helptext[helptext.index('  General Options:') + 19:]
-options = re.sub(r'(?m)^  (\w.+)$', r'## \1', options)
-options = '# OPTIONS\n' + options + '\n'
+header = readme[:readme.index(f'## {OPTIONS_START}')]
+footer = readme[readme.index(f'# {OPTIONS_END}'):]
 
-with io.open(README_FILE, 'w', encoding='utf-8') as f:
-    f.write(header)
-    f.write(options)
-    # f.write(footer)
+with open(README_FILE, 'w', encoding='utf-8') as f:
+    for part in (header, options, footer):
+        f.write(part)