6
6
7
7
def main ():
8
8
9
- services = sunlight .available_services ()
10
- service = services .get (args .get (0 ), None )
9
+ services = sunlight .available_services ()
10
+ service = services .get (args .get (0 ), None )
11
11
12
- if service is not None :
12
+ if service is not None :
13
+ available_methods = [
14
+ m for m in dir (service ) if not m .startswith ('_' ) and m != 'get'
15
+ ]
16
+ if args .get (1 ) in available_methods :
13
17
14
- available_methods = [m for m in dir (service ) if not m .startswith ('_' ) and m != 'get' ]
18
+ params = {
19
+ g [0 ][2 :]: g [1 ].get (0 ) for g in args .grouped .items ()[1 :] if
20
+ g [0 ].startswith ('--' )
21
+ }
22
+ resp = getattr (service , args .get (1 ))(** params )
23
+ sys .stdout .write (json .dumps (resp , indent = 2 ) + '\n ' )
15
24
16
- if args .get (1 ) in available_methods :
17
-
18
- params = {g [0 ][2 :]: g [1 ].get (0 ) for g in args .grouped .items ()[1 :] if g [0 ].startswith ('--' )}
19
- resp = getattr (service , args .get (1 ))(** params )
20
- sys .stdout .write (json .dumps (resp , indent = 2 ) + '\n ' )
25
+ else :
26
+ help (methods = available_methods ) # missing or invalid method param
21
27
22
- else :
23
- help (methods = available_methods ) # missing or invalid method parameter
24
-
25
- else :
26
- help (services = services ) # missing or invalid service parameter
28
+ else :
29
+ help (services = services ) # missing or invalid service parameter
27
30
28
31
def help (services = None , methods = None ):
29
- sys .stderr .write ("Usage: sunlight <service> <method> [<args>, ...]\n " )
32
+ sys .stderr .write ("Usage: sunlight <service> <method> [<args>, ...]\n " )
30
33
31
- if services :
32
- sys .stderr .write ("Available services:\n " )
33
- for s in services :
34
- sys .stderr .write (" %s\n " % s )
34
+ if services :
35
+ sys .stderr .write ("Available services:\n " )
36
+ for s in services :
37
+ sys .stderr .write (" %s\n " % s )
35
38
36
- if methods :
37
- sys .stderr .write ("Available methods:\n " )
38
- for m in methods :
39
- sys .stderr .write (" %s\n " % m )
39
+ if methods :
40
+ sys .stderr .write ("Available methods:\n " )
41
+ for m in methods :
42
+ sys .stderr .write (" %s\n " % m )
40
43
41
44
if __name__ == "__main__" :
42
- main ()
45
+ main ()
0 commit comments