2012-11-24 02:57:22 +08:00
|
|
|
#!/usr/bin/env python
|
|
|
|
|
2011-10-18 20:31:08 +08:00
|
|
|
from optparse import OptionParser
|
2011-11-11 22:45:53 +08:00
|
|
|
import glob, sys, os, re
|
2011-10-18 20:31:08 +08:00
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
|
parser = OptionParser()
|
|
|
|
parser.add_option("-o", "--output", dest="output", help="output file name", metavar="FILENAME", default=None)
|
|
|
|
(options, args) = parser.parse_args()
|
|
|
|
|
|
|
|
if not options.output:
|
|
|
|
sys.stderr.write("Error: output file name is not provided")
|
|
|
|
exit(-1)
|
|
|
|
|
|
|
|
files = []
|
|
|
|
for arg in args:
|
|
|
|
if ("*" in arg) or ("?" in arg):
|
|
|
|
files.extend([os.path.abspath(f) for f in glob.glob(arg)])
|
|
|
|
else:
|
|
|
|
files.append(os.path.abspath(arg))
|
|
|
|
|
|
|
|
html = None
|
2011-10-31 21:19:12 +08:00
|
|
|
for f in sorted(files):
|
2011-10-18 20:31:08 +08:00
|
|
|
try:
|
|
|
|
fobj = open(f)
|
|
|
|
if not fobj:
|
|
|
|
continue
|
|
|
|
text = fobj.read()
|
|
|
|
if not html:
|
|
|
|
html = text
|
|
|
|
continue
|
|
|
|
idx1 = text.find("<tbody>") + len("<tbody>")
|
|
|
|
idx2 = html.rfind("</tbody>")
|
2011-11-11 22:45:53 +08:00
|
|
|
html = html[:idx2] + re.sub(r"[ \t\n\r]+", " ", text[idx1:])
|
2011-10-18 20:31:08 +08:00
|
|
|
except:
|
|
|
|
pass
|
|
|
|
|
|
|
|
if html:
|
|
|
|
idx1 = text.find("<title>") + len("<title>")
|
|
|
|
idx2 = html.find("</title>")
|
|
|
|
html = html[:idx1] + "OpenCV performance testing report" + html[idx2:]
|
|
|
|
open(options.output, "w").write(html)
|
|
|
|
else:
|
|
|
|
sys.stderr.write("Error: no input data")
|
|
|
|
exit(-1)
|