~nskaggs/+junk/lifeboat

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))