blob: 104cada981a1c37b784a9f945b82f768b3135f92 [file] [log] [blame]
Dennis Kempin351024d2013-02-06 11:18:21 -08001#! /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
Dennis Kempinb049d542013-06-13 13:55:18 -07006from mtedit import MTEdit
7from mtlib import Log
Dennis Kempin351024d2013-02-06 11:18:21 -08008from optparse import OptionParser
9import sys
10
11
Dennis Kempin136b7322013-02-06 13:20:57 -080012usage = """Multitouch Editor Usage Examples:
Dennis Kempin351024d2013-02-06 11:18:21 -080013
14Viewing logs:
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
19Edit log and save result into output.log:
20$ %prog log -o output.log
21
22Download log and save without editing:
23$ %prog log -d -o output.log"""
24
25
26def main(argv):
27 parser = OptionParser(usage=usage)
Dennis Kempin17766a62013-06-17 14:09:33 -070028 parser.add_option('-o',
29 dest='out', default=None,
30 help='set target filename for storing results',
31 metavar='output.log')
32 parser.add_option('-d', '--download',
33 dest='download', action='store_true', default=False,
34 help='download file only, don\'t edit.')
35 parser.add_option('-e', '--evdev',
36 dest='evdev', default=None,
37 help='path to local evdev log file')
38 parser.add_option('-n', '--new',
39 dest='new', action='store_true', default=False,
40 help='Create new device logs before downloading. '+
41 '[Default: False]')
42 parser.add_option('-p', '--persistent',
43 dest='persistent', action='store_true', default=False,
44 help='Keep server alive until killed in the terminal '+
45 'via CTRL-C [Default: False]')
46 parser.add_option('-s', '--serve',
47 dest='serve', action='store_true', default=False,
48 help='Serve a standalone MTEdit.')
49 parser.add_option('-c', '--screenshot',
50 dest='screenshot', action='store_true', default=False,
51 help='Force an attempt to find and download a screenshot.')
Dennis Kempin351024d2013-02-06 11:18:21 -080052 (options, args) = parser.parse_args()
53
Dennis Kempinb049d542013-06-13 13:55:18 -070054 editor = MTEdit(persistent=options.persistent)
Dennis Kempin351024d2013-02-06 11:18:21 -080055
56 if options.serve:
57 editor.Serve()
58 return
59
60 if len(args) != 1:
61 parser.print_help()
62 exit(-1)
63
64 log = Log(args[0], options)
65
66 if options.download:
67 if not options.out:
Dennis Kempin17766a62013-06-17 14:09:33 -070068 print '--download requires -o to be set.'
Dennis Kempin351024d2013-02-06 11:18:21 -080069 exit(-1)
70 log.SaveAs(options.out)
71 else:
72 if options.out is None:
73 editor.View(log)
74 else:
75 log = editor.Edit(log)
76 log.SaveAs(options.out)
77
WeiNan-Peter, Wen9aab26a2013-05-13 09:32:29 -040078 log.CleanUp()
79
80
Dennis Kempin17766a62013-06-17 14:09:33 -070081if __name__ == '__main__':
Dennis Kempin351024d2013-02-06 11:18:21 -080082 main(sys.argv)