77 lines
2.1 KiB
Python
Executable File
77 lines
2.1 KiB
Python
Executable File
#!/usr/bin/python
|
|
|
|
import os
|
|
import sys
|
|
import subprocess
|
|
import re
|
|
import datetime
|
|
|
|
process = subprocess.Popen([sys.argv[1], '-h'], stderr=subprocess.PIPE)
|
|
stdout, stderr = process.communicate()
|
|
help_txt = stderr
|
|
|
|
lines = help_txt.splitlines()
|
|
|
|
if len(sys.argv) > 2:
|
|
f = open(sys.argv[2], 'w')
|
|
else:
|
|
f = sys.stdout
|
|
|
|
i = 0
|
|
for i in range(len(lines)):
|
|
if i == 0:
|
|
f.write("%s\n" % lines[i])
|
|
f.write("=============================================\n\n")
|
|
elif i == 2:
|
|
f.write("## SYNOPSIS\n\n")
|
|
f.write('%s\n\n' % lines[i])
|
|
elif i == 4:
|
|
f.write("## DESCRIPTION\n\n")
|
|
f.write("%s\n\n" % lines[i])
|
|
elif lines[i] == "See also:":
|
|
f.write("## SEE ALSO\n")
|
|
i = i + 1
|
|
|
|
# It's assumed that "See also:" is the last set of help text
|
|
while i < len(lines):
|
|
f.write("%s\n" % lines[i])
|
|
i = i + 1
|
|
else:
|
|
if lines[i] == "Allowed options:" or lines[i] == "Options:":
|
|
i = i + 1
|
|
f.write("## OPTIONS\n\n")
|
|
while i < len(lines) and len(lines[i]) > 0 and lines[i][0] == " ":
|
|
line = lines[i].replace(" [ ", ", ")
|
|
line = line.replace(' ]', '')
|
|
line = line.strip()
|
|
line = re.sub('\s+', ' ', line)
|
|
line = re.sub('\s([A-Z].*)', r' :\n \1', line)
|
|
i = i + 1
|
|
while i < len(lines) and len(lines[i]) > 0 and lines[i][0] == " " and re.match(r'^ ', lines[i]):
|
|
line += " " + lines[i].strip()
|
|
i = i + 1
|
|
f.write("* %s\n"%line)
|
|
f.write("\n")
|
|
|
|
if lines[i] == "Commands:":
|
|
i = i + 1
|
|
f.write("## COMMAND ELEMENTS\n\n")
|
|
while i < len(lines) and len(lines[i]) > 0 and lines[i][0] == " ":
|
|
line = lines[i].strip()
|
|
line = re.sub('\s+', ' ', line)
|
|
line = re.sub('\s([A-Z].*\.$)', r'**:\n\1', line)
|
|
f.write("* **%s\n" % line)
|
|
i = i + 1
|
|
f.write("\n")
|
|
|
|
f.write("""
|
|
## AUTHOR
|
|
Open Source Robotics Foundation
|
|
|
|
## COPYRIGHT
|
|
Copyright (C) 2012 Open Source Robotics Foundation
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
""")
|