#!/usr/bin/python3

import argparse
import logging

from grove import agent as grove_agent
from grove import config as grove_config

parser = argparse.ArgumentParser(description='Start a Grove agent.')
parser.add_argument('--debug', action='store_true', help='use debug logging')
parser.add_argument('--dev', action='store_true', help='use dev mocks')
args = parser.parse_args()

config = grove_config.load_config(args.dev)
debug = args.debug or config.get('debug', False)

logging.basicConfig(
  format='%(asctime)s %(name)-12s %(levelname)-8s %(message)s',
  level=logging.DEBUG if debug else logging.INFO
)

try:
  grove_agent.GroveAgentClient(config, debug).run()
except KeyboardInterrupt as e:
  pass
