blob: 4e72a5e39c12a56a125a4d32940173ea9911cd4c [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
Harry Cuttsd77ab7a2020-01-28 11:09:26 -08006from __future__ import absolute_import
7from __future__ import division
Harry Cutts0edf1572020-01-21 15:42:10 -08008from __future__ import print_function
9
Dennis Kempinb049d542013-06-13 13:55:18 -070010from mtedit import MTEdit
11from mtlib import Log
Dennis Kempin13d948e2014-04-18 11:23:32 -070012from mtlib.feedback import FeedbackDownloader
Dennis Kempin351024d2013-02-06 11:18:21 -080013from optparse import OptionParser
14import sys
15
16
Dennis Kempin136b7322013-02-06 13:20:57 -080017usage = """Multitouch Editor Usage Examples:
Dennis Kempin351024d2013-02-06 11:18:21 -080018
19Viewing logs:
20$ %prog filename.log (from file)
21$ %prog 172.22.75.0 (from device ip address)
22$ %prog http://feedback.google.com/... (from feedback report url)
23
24Edit log and save result into output.log:
25$ %prog log -o output.log
26
27Download log and save without editing:
28$ %prog log -d -o output.log"""
29
30
31def main(argv):
32 parser = OptionParser(usage=usage)
Dennis Kempin17766a62013-06-17 14:09:33 -070033 parser.add_option('-o',
34 dest='out', default=None,
35 help='set target filename for storing results',
36 metavar='output.log')
37 parser.add_option('-d', '--download',
38 dest='download', action='store_true', default=False,
39 help='download file only, don\'t edit.')
40 parser.add_option('-e', '--evdev',
41 dest='evdev', default=None,
42 help='path to local evdev log file')
43 parser.add_option('-n', '--new',
44 dest='new', action='store_true', default=False,
45 help='Create new device logs before downloading. '+
46 '[Default: False]')
47 parser.add_option('-p', '--persistent',
48 dest='persistent', action='store_true', default=False,
49 help='Keep server alive until killed in the terminal '+
50 'via CTRL-C [Default: False]')
51 parser.add_option('-s', '--serve',
52 dest='serve', action='store_true', default=False,
53 help='Serve a standalone MTEdit.')
54 parser.add_option('-c', '--screenshot',
55 dest='screenshot', action='store_true', default=False,
56 help='Force an attempt to find and download a screenshot.')
Dennis Kempin13d948e2014-04-18 11:23:32 -070057 parser.add_option('--login',
58 dest='login', action='store_true', default=False,
59 help='Force (re-)login to feedback.corp.google.com')
Dennis Kempin351024d2013-02-06 11:18:21 -080060 (options, args) = parser.parse_args()
61
Dennis Kempinb049d542013-06-13 13:55:18 -070062 editor = MTEdit(persistent=options.persistent)
Dennis Kempin351024d2013-02-06 11:18:21 -080063
64 if options.serve:
65 editor.Serve()
66 return
67
Dennis Kempin13d948e2014-04-18 11:23:32 -070068 if options.login:
69 FeedbackDownloader(force_login=True)
70
Dennis Kempin351024d2013-02-06 11:18:21 -080071 if len(args) != 1:
72 parser.print_help()
73 exit(-1)
74
75 log = Log(args[0], options)
76
77 if options.download:
78 if not options.out:
Harry Cutts0edf1572020-01-21 15:42:10 -080079 print('--download requires -o to be set.')
Dennis Kempin351024d2013-02-06 11:18:21 -080080 exit(-1)
81 log.SaveAs(options.out)
82 else:
83 if options.out is None:
84 editor.View(log)
85 else:
86 log = editor.Edit(log)
Dennis Kempin58d9a742014-05-08 18:34:59 -070087 if log:
88 log.SaveAs(options.out)
Dennis Kempin351024d2013-02-06 11:18:21 -080089
WeiNan-Peter, Wen9aab26a2013-05-13 09:32:29 -040090 log.CleanUp()
91
92
Dennis Kempin17766a62013-06-17 14:09:33 -070093if __name__ == '__main__':
Dennis Kempin351024d2013-02-06 11:18:21 -080094 main(sys.argv)