devscripts/make_readme.py in place of all that sedding, that has porting problems
authorFilippo Valsorda <filippo.valsorda@gmail.com>
Fri, 7 Dec 2012 13:45:16 +0000 (14:45 +0100)
committerFilippo Valsorda <filippo.valsorda@gmail.com>
Fri, 7 Dec 2012 13:45:16 +0000 (14:45 +0100)
Makefile
devscripts/make_readme.py [new file with mode: 0644]

index e126a9fa1db1e2eb06200bea0755425d5014a866..dbb315dc73a9a86009e3124743e96ce002d27945 100644 (file)
--- 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 (file)
index 0000000..57ff045
--- /dev/null
@@ -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