1#!/usr/bin/env python 2 3from optparse import OptionParser 4import glob, sys, os, re 5 6if __name__ == "__main__": 7 parser = OptionParser() 8 parser.add_option("-o", "--output", dest="output", help="output file name", metavar="FILENAME", default=None) 9 (options, args) = parser.parse_args() 10 11 if not options.output: 12 sys.stderr.write("Error: output file name is not provided") 13 exit(-1) 14 15 files = [] 16 for arg in args: 17 if ("*" in arg) or ("?" in arg): 18 files.extend([os.path.abspath(f) for f in glob.glob(arg)]) 19 else: 20 files.append(os.path.abspath(arg)) 21 22 html = None 23 for f in sorted(files): 24 try: 25 fobj = open(f) 26 if not fobj: 27 continue 28 text = fobj.read() 29 if not html: 30 html = text 31 continue 32 idx1 = text.find("<tbody>") + len("<tbody>") 33 idx2 = html.rfind("</tbody>") 34 html = html[:idx2] + re.sub(r"[ \t\n\r]+", " ", text[idx1:]) 35 except: 36 pass 37 38 if html: 39 idx1 = text.find("<title>") + len("<title>") 40 idx2 = html.find("</title>") 41 html = html[:idx1] + "OpenCV performance testing report" + html[idx2:] 42 open(options.output, "w").write(html) 43 else: 44 sys.stderr.write("Error: no input data") 45 exit(-1) 46