| #!/usr/bin/env python |
| # Copyright 2016 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import argparse |
| import sys |
| import os |
| |
| tracing_path = os.path.abspath(os.path.join( |
| os.path.dirname(os.path.realpath(__file__)), '..')) |
| sys.path.append(tracing_path) |
| from tracing_build import html2trace |
| |
| |
| def main(): |
| parser = argparse.ArgumentParser(description='Extract trace data from an ' |
| 'HTML trace.', add_help=False) |
| parser.add_argument('html_path', metavar='HTML_PATH', |
| help='HTML file path (input).') |
| parser.add_argument('trace_path', metavar='TRACE_PATH', |
| help='Trace file path (output). If the HTML file ' |
| 'contains more than one trace data block, the first ' |
| 'block will be extracted into %(metavar)s and the rest ' |
| 'will be extracted into separate files %(metavar)s.1, ' |
| '%(metavar)s.2, etc.') |
| parser.add_argument('--gzipped_output', choices=['true', 'false', 'auto'], |
| default='auto', help='Flag whether the output trace ' |
| 'file should be gzipped.') |
| parser.add_argument('-q', '--quiet', action='store_true', |
| help='Don\'t print the saved file name(s).') |
| parser.add_argument('-h', '--help', action='help', |
| help='Show this help message and exit.') |
| args = parser.parse_args() |
| |
| if args.gzipped_output == 'true': |
| gzipped_output = True |
| elif args.gzipped_output == 'false': |
| gzipped_output = False |
| else: |
| gzipped_output = args.trace_path.endswith('.gz') |
| |
| saved_paths = html2trace.CopyTraceDataFromHTMLFilePath( |
| args.html_path, args.trace_path, gzipped_output) |
| |
| if not args.quiet: |
| print '\n'.join(saved_paths) |
| |
| |
| if __name__ == '__main__': |
| sys.exit(main()) |