@@ -6,7 +6,7 @@ Created on Feb 3, 2012
66@author: diego
77'''
88
9- __version__ = '10.1.8 '
9+ __version__ = '10.2.0 '
1010
1111import sys
1212import os
@@ -38,6 +38,9 @@ CENTER = 'center'
3838SAVE_SCREENSHOT = 'save-screenshot'
3939SAVE_VIEW_SCREENSHOTS = 'save-view-screenshots'
4040DO_NOT_DUMP_VIEWS = 'do-not-dump-views'
41+ DEVICE_ART = 'device-art'
42+ DROP_SHADOW = 'drop-shadow'
43+ SCREEN_GLARE = 'glare'
4144
4245MAP = {
4346 'a' :View .__str__ , ALL :View .__str__ ,
@@ -52,14 +55,15 @@ MAP = {
5255 }
5356
5457USAGE = 'usage: %s [OPTION]... [serialno]'
55- SHORT_OPTS = 'HVvIEFSkw:aixbdgcf:W:D '
58+ SHORT_OPTS = 'HVvIEFSkw:aixbdgcf:W:DA:ZG '
5659LONG_OPTS = [HELP , VERBOSE , VERSION , IGNORE_SECURE_DEVICE , IGNORE_VERSION_CHECK , FORCE_VIEW_SERVER_USE ,
5760 DO_NOT_START_VIEW_SERVER , DO_NOT_IGNORE_UIAUTOMATOR_KILLED , WINDOW + '=' ,
5861 ALL , UNIQUE_ID , POSITION , BOUNDS , CONTENT_DESCRIPTION , TAG , CENTER ,
5962 SAVE_SCREENSHOT + '=' , SAVE_VIEW_SCREENSHOTS + '=' ,
6063 DO_NOT_DUMP_VIEWS ,
64+ DEVICE_ART + '=' , DROP_SHADOW , SCREEN_GLARE ,
6165 ]
62- LONG_OPTS_ARG = {WINDOW : 'WINDOW' , SAVE_SCREENSHOT : 'FILE' , SAVE_VIEW_SCREENSHOTS : 'DIR' }
66+ LONG_OPTS_ARG = {WINDOW : 'WINDOW' , SAVE_SCREENSHOT : 'FILE' , SAVE_VIEW_SCREENSHOTS : 'DIR' , DEVICE_ART : 'MODEL' }
6367OPTS_HELP = {
6468 'H' : 'prints this help' ,
6569 'V' : 'verbose comments' ,
@@ -79,6 +83,9 @@ OPTS_HELP = {
7983 'W' : 'save View screenshots to files in directory' ,
8084 'E' : 'ignores ADB version check' ,
8185 'D' : 'don\' t dump views, only useful if you specified -f or -W' ,
86+ 'A' : 'device art to frame screenshot' ,
87+ 'Z' : 'drop shadow for device art screenshot' ,
88+ 'G' : 'screen glare over screenshot' ,
8289 }
8390
8491def shortAndLongOptions ():
@@ -131,7 +138,8 @@ except getopt.GetoptError, e:
131138
132139kwargs1 = {VERBOSE : False , 'ignoresecuredevice' : False , 'ignoreversioncheck' : False }
133140kwargs2 = {'forceviewserveruse' : False , 'startviewserver' : True , 'autodump' : False , 'ignoreuiautomatorkilled' : True }
134- options = {WINDOW : - 1 , SAVE_SCREENSHOT : None , SAVE_VIEW_SCREENSHOTS : None , DO_NOT_DUMP_VIEWS : False }
141+ options = {WINDOW : - 1 , SAVE_SCREENSHOT : None , SAVE_VIEW_SCREENSHOTS : None , DO_NOT_DUMP_VIEWS : False ,
142+ DEVICE_ART : None , DROP_SHADOW : False , SCREEN_GLARE : False }
135143transform = ViewClient .TRAVERSE_CIT
136144for o , a in opts :
137145 o = o .strip ('-' )
@@ -158,6 +166,12 @@ for o, a in opts:
158166 elif o in ['W' , SAVE_VIEW_SCREENSHOTS ]:
159167 options [SAVE_VIEW_SCREENSHOTS ] = a
160168 transform = MAP [o ]
169+ elif o in ['A' , DEVICE_ART ]:
170+ options [DEVICE_ART ] = a
171+ elif o in ['Z' , DROP_SHADOW ]:
172+ options [DROP_SHADOW ] = True
173+ elif o in ['G' , SCREEN_GLARE ]:
174+ options [SCREEN_GLARE ] = True
161175 elif o in ['D' , DO_NOT_DUMP_VIEWS ]:
162176 options [DO_NOT_DUMP_VIEWS ] = True
163177 transform = MAP [o ]
@@ -169,8 +183,8 @@ if options[DO_NOT_DUMP_VIEWS]:
169183
170184vc = ViewClient (* ViewClient .connectToDeviceOrExit (** kwargs1 ), ** kwargs2 )
171185if options [SAVE_SCREENSHOT ]:
172- vc .device .reconnect = (not options [DO_NOT_DUMP_VIEWS ])
173- vc .writeImageToFile (options [SAVE_SCREENSHOT ])
186+ vc .device .reconnect = True # (not options[DO_NOT_DUMP_VIEWS])
187+ vc .writeImageToFile (options [SAVE_SCREENSHOT ], deviceart = options [ DEVICE_ART ], dropshadow = options [ DROP_SHADOW ], screenglare = options [ SCREEN_GLARE ] )
174188if not options [DO_NOT_DUMP_VIEWS ] or options [SAVE_VIEW_SCREENSHOTS ]:
175189 vc .dump (window = options [WINDOW ])
176190 ViewClient .imageDirectory = options [SAVE_VIEW_SCREENSHOTS ]
0 commit comments