#!/usr/bin/python3
##############################################
#
# This is open source software licensed under the Apache License 2.0
# http://www.apache.org/licenses/LICENSE-2.0
#
##############################################

from plantgw import PlantGateway, SensorConfig
import sys
import argparse
import plantgw.misensor as misensor


def main():
    parser = argparse.ArgumentParser()
    parser.add_argument('-r', help='perform reset on device')
    args = parser.parse_args()
    if args.r is not None:
        mac = args.r
        s = misensor.Sensor(mac)
        s.factory_reset()
    else:
        pg = PlantGateway()
        failed_sensors = pg.process_all()
        if len(failed_sensors) > 0:
            print('Could not get data from {}sensor(s): {}.'.format(
                len(failed_sensors),
                SensorConfig.get_name_string(failed_sensors)))
        pg.stop_client()
        sys.exit(len(failed_sensors))


if __name__ == '__main__':
    main()
