about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--Makefile13
-rw-r--r--devscripts/make_readme.py21
2 files changed, 23 insertions, 11 deletions
diff --git a/Makefile b/Makefile
index e126a9fa1..dbb315dc7 100644
--- a/Makefile
+++ b/Makefile
@@ -30,19 +30,10 @@ youtube-dl: youtube_dl/*.py
 	chmod a+x youtube-dl
 
 README.md: youtube_dl/*.py
-	@options=$$(COLUMNS=80 python -m youtube_dl --help | sed -e '1,/.*General Options.*/ d' -e 's/^\W\{2\}\(\w\)/## \1/') && \
-		header=$$(sed -e '/.*# OPTIONS/,$$ d' README.md) && \
-		footer=$$(sed -e '1,/.*# CONFIGURATION/ d' README.md) && \
-		echo "$${header}" > README.md && \
-		echo >> README.md && \
-		echo '# OPTIONS' >> README.md && \
-		echo "$${options}" >> README.md&& \
-		echo >> README.md && \
-		echo '# CONFIGURATION' >> README.md && \
-		echo "$${footer}" >> README.md
+	COLUMNS=80 python -m youtube_dl --help | python devscripts/make_readme.py
 
 README.txt: README.md
-	pandoc -s -f markdown -t plain README.md -o README.txt
+	pandoc -f markdown -t plain README.md -o README.txt
 
 youtube-dl.1: README.md
 	pandoc -s -f markdown -t man README.md -o youtube-dl.1
diff --git a/devscripts/make_readme.py b/devscripts/make_readme.py
new file mode 100644
index 000000000..57ff0456e
--- /dev/null
+++ b/devscripts/make_readme.py
@@ -0,0 +1,21 @@
+import sys
+import re
+
+helptext = sys.stdin.read()
+
+f = open('README.md')
+oldreadme = f.read()
+f.close()
+
+header = oldreadme[:oldreadme.index('# OPTIONS')]
+footer = oldreadme[oldreadme.index('# CONFIGURATION'):]
+
+options = helptext[helptext.index('  General Options:')+19:]
+options = re.sub(r'^  (\w.+)$', r'## \1', options, flags=re.M)
+options = '# OPTIONS\n' + options + '\n'
+
+f = open('README.md', 'w')
+f.write(header)
+f.write(options)
+f.write(footer)
+f.close()
\ No newline at end of file