blob: ae51e9770bb641b1e8f8c8619a863ef835d15d84 [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 Kempinf18b0cd2013-02-07 14:26:37 -08006from mtedit.editor import LogEditor
7from mtedit.log 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)
28 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",
WeiNan-Peter, Wen9aab26a2013-05-13 09:32:29 -040033 dest="download", action="store_true", default=False,
Dennis Kempin351024d2013-02-06 11:18:21 -080034 help="download file only, don't edit.")
Dennis Kempin7b783272013-04-01 15:06:35 -070035 parser.add_option("-e", "--evdev",
36 dest="evdev", default=None,
37 help="path to local evdev log file")
Dennis Kempin351024d2013-02-06 11:18:21 -080038 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,
Dennis Kempin136b7322013-02-06 13:20:57 -080048 help="Serve a standalone MTEdit.")
WeiNan-Peter, Wen9aab26a2013-05-13 09:32:29 -040049 parser.add_option("-c", "--screenshot",
50 dest="screenshot", action="store_true", default=False,
51 help="Attempt to download screenshot from feedback url.")
Dennis Kempin351024d2013-02-06 11:18:21 -080052 (options, args) = parser.parse_args()
53
54 editor = LogEditor(persistent=options.persistent)
55
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:
68 print "--download requires -o to be set."
69 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 Kempin351024d2013-02-06 11:18:21 -080081if __name__ == "__main__":
82 main(sys.argv)