| OLD | NEW |
| 1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
| 2 | 2 |
| 3 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 3 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 4 # Use of this source code is governed by a BSD-style license that can be | 4 # Use of this source code is governed by a BSD-style license that can be |
| 5 # found in the LICENSE file. | 5 # found in the LICENSE file. |
| 6 | 6 |
| 7 """Takes and saves a screenshot from an Android device. | 7 """Takes and saves a screenshot from an Android device. |
| 8 | 8 |
| 9 Usage: screenshot.py [-s SERIAL] [-f FILE] | 9 Usage: screenshot.py [-s SERIAL] [[-f] FILE] |
| 10 | 10 |
| 11 Options: | 11 Options: |
| 12 -s SERIAL connect to device with specified SERIAL | 12 -s SERIAL connect to device with specified SERIAL |
| 13 -f FILE write screenshot to FILE (default: Screenshot.png) | 13 -f FILE write screenshot to FILE (default: Screenshot.png) |
| 14 """ | 14 """ |
| 15 | 15 |
| 16 from optparse import OptionParser | 16 from optparse import OptionParser |
| 17 import os | 17 import os |
| 18 import sys | 18 import sys |
| 19 | 19 |
| 20 from pylib import android_commands | 20 from pylib import android_commands |
| 21 | 21 |
| 22 | 22 |
| 23 def main(argv): | 23 def main(): |
| 24 # Parse options. | 24 # Parse options. |
| 25 parser = OptionParser() | 25 parser = OptionParser(usage='screenshot.py [-s SERIAL] [[-f] FILE]') |
| 26 parser.add_option('-s', '--serial', dest='serial', | 26 parser.add_option('-s', '--serial', dest='serial', |
| 27 help='connect to device with specified SERIAL', | 27 help='connect to device with specified SERIAL', |
| 28 metavar='SERIAL', default=None) | 28 metavar='SERIAL', default=None) |
| 29 parser.add_option('-f', '--file', dest='filename', | 29 parser.add_option('-f', '--file', dest='filename', |
| 30 help='write screenshot to FILE (default: %default)', | 30 help='write screenshot to FILE (default: %default)', |
| 31 metavar='FILE', default='Screenshot.png') | 31 metavar='FILE', default='Screenshot.png') |
| 32 (options, args) = parser.parse_args(argv) | 32 (options, args) = parser.parse_args() |
| 33 | 33 |
| 34 if not options.serial and len(android_commands.GetAttachedDevices()) > 1: | 34 if not options.serial and len(android_commands.GetAttachedDevices()) > 1: |
| 35 parser.error('Multiple devices are attached. ' | 35 parser.error('Multiple devices are attached. ' |
| 36 'Please specify SERIAL with -s.') | 36 'Please specify SERIAL with -s.') |
| 37 | 37 |
| 38 if len(args) > 1: |
| 39 parser.error('Too many positional arguments.') |
| 40 filename = os.path.abspath(args[0] if args else options.filename) |
| 41 |
| 38 # Grab screenshot and write to disk. | 42 # Grab screenshot and write to disk. |
| 39 filename = os.path.abspath(options.filename) | |
| 40 ac = android_commands.AndroidCommands(options.serial) | 43 ac = android_commands.AndroidCommands(options.serial) |
| 41 ac.TakeScreenshot(filename) | 44 ac.TakeScreenshot(filename) |
| 42 return 0 | 45 return 0 |
| 43 | 46 |
| 44 | 47 |
| 45 if __name__ == '__main__': | 48 if __name__ == '__main__': |
| 46 sys.exit(main(sys.argv)) | 49 sys.exit(main()) |
| OLD | NEW |