Dennis Kempin | 1a8a5be | 2013-06-18 11:00:02 -0700 | [diff] [blame] | 1 | #! /usr/bin/env python |
| 2 | # Copyright (c) 2013 The Chromium OS Authors. All rights reserved. |
| 3 | # Use of this source code is governed by a BSD-style license that can be |
| 4 | # found in the LICENSE file. |
| 5 | |
| 6 | from mtreplay import MTReplay |
| 7 | from mtlib import Log |
| 8 | from optparse import OptionParser |
| 9 | import sys |
| 10 | |
| 11 | |
| 12 | usage = """Multitouch Replay Usage Examples: |
| 13 | |
| 14 | Replaying logs and print activity_log: |
| 15 | $ %prog filename.log (from file) |
| 16 | $ %prog 172.22.75.0 (from device ip address) |
| 17 | $ %prog http://feedback.google.com/... (from feedback report url) |
| 18 | |
| 19 | Print which platform this log is replayed on: |
| 20 | $ %prog log -p |
| 21 | |
| 22 | View gestures log |
| 23 | $ %prog log -v gestures-log |
| 24 | $ %prog log -vgl |
| 25 | |
| 26 | View evdev log |
| 27 | $ %prog log -v evdev-log |
| 28 | $ %prog log -vel |
| 29 | |
| 30 | View activity in MTEdit: |
| 31 | $ %prog log -v activity |
| 32 | $ %prog log -va""" |
| 33 | |
| 34 | |
| 35 | def main(argv): |
| 36 | parser = OptionParser(usage=usage) |
| 37 | parser.add_option('-p', '--platform', |
| 38 | dest='platform', action='store_true', default=False, |
| 39 | help='print platform this log is replayed on') |
| 40 | parser.add_option('-v', '--view', |
| 41 | dest='view', default=None, |
| 42 | help='select output of relay to view') |
Dennis Kempin | 41b3ddd | 2013-07-01 15:08:32 -0700 | [diff] [blame] | 43 | parser.add_option('--gdb', |
| 44 | dest='gdb', action='store_true', default=False, |
| 45 | help='setup gdb session to run replay') |
Dennis Kempin | d1e56a2 | 2013-07-17 14:11:46 -0700 | [diff] [blame^] | 46 | parser.add_option('--force', '-f', |
| 47 | dest='force', default=None, |
| 48 | help='force platform for replay') |
Dennis Kempin | 1a8a5be | 2013-06-18 11:00:02 -0700 | [diff] [blame] | 49 | (options, args) = parser.parse_args() |
| 50 | |
| 51 | replay = MTReplay() |
Dennis Kempin | 41b3ddd | 2013-07-01 15:08:32 -0700 | [diff] [blame] | 52 | replay.Recompile() |
Dennis Kempin | 1a8a5be | 2013-06-18 11:00:02 -0700 | [diff] [blame] | 53 | |
| 54 | if len(args) != 1: |
| 55 | parser.print_help() |
| 56 | exit(-1) |
| 57 | |
| 58 | log = Log(args[0]) |
| 59 | |
| 60 | if options.platform: |
Dennis Kempin | 55af9cc | 2013-06-20 15:07:21 -0700 | [diff] [blame] | 61 | platform = replay.PlatformOf(log, True) |
| 62 | if platform: |
| 63 | print platform.name |
Dennis Kempin | 1a8a5be | 2013-06-18 11:00:02 -0700 | [diff] [blame] | 64 | return |
| 65 | |
Dennis Kempin | d1e56a2 | 2013-07-17 14:11:46 -0700 | [diff] [blame^] | 66 | results = replay.Replay(log, force_platform=options.force, gdb=options.gdb) |
Dennis Kempin | 55af9cc | 2013-06-20 15:07:21 -0700 | [diff] [blame] | 67 | if results: |
| 68 | results.View(options.view) |
Dennis Kempin | 1a8a5be | 2013-06-18 11:00:02 -0700 | [diff] [blame] | 69 | |
| 70 | |
| 71 | if __name__ == '__main__': |
| 72 | main(sys.argv) |