1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
#!/usr/bin/env python
import argparse
import device_info
import sys
def _get_state(args):
if args.name == 'all':
for device in device_info.DEVICES:
sys.stdout.write("{}: ".format(device))
print(device_info.get_device(device).get_state())
else:
device = device_info.get_device(args.name)
print(device.get_state())
def _get_serial(args):
device = device_info.get_device(args.name)
print(device.get_serial())
def _get_parser():
parser = argparse.ArgumentParser(
description='Get information about a device')
sub = parser.add_subparsers(title='Commands', metavar='')
serial = sub.add_parser('serial', help='Get serial for a device name')
serial.set_defaults(func=_get_serial)
serial.add_argument('name', help='Device name')
state = sub.add_parser('state', help='Get device state for a device')
state.set_defaults(func=_get_state)
state.add_argument('name', help='Device name')
return parser
if __name__ == '__main__':
args = _get_parser().parse_args()
exit(args.func(args))
|