hugvey/hugvey_client.py

55 lines
1.7 KiB
Python

from hugvey.client import Hugvey
import logging
import logging.handlers
import coloredlogs
import argparse
from urllib.parse import urlparse
if __name__ == '__main__':
argParser = argparse.ArgumentParser(description='Start up a Hugvey pillow. Mic stream becomes available on TCP Socket, and starts listening + emitting events')
argParser.add_argument(
'--config',
'-c',
required=True,
type=str,
help='The yaml config file to load'
)
argParser.add_argument(
'--verbose',
'-v',
action="store_true",
)
argParser.add_argument(
'--id',
type=int,
default=None,
help="Force the given id to be used. Must be integer"
)
argParser.add_argument(
'--log',
action='store_true',
help="If given, logs are send to cutelog on the central command, if cutelog is not started this could significantly slow down the Hugvey"
)
args = argParser.parse_args()
coloredlogs.install(
level=logging.DEBUG if args.verbose else logging.INFO,
)
logger = logging.getLogger("hugvey")
# logger.setLevel(1) # to send all records to cutelog
hv = Hugvey(args.id)
hv.loadConfig(args.config)
if args.log:
host = urlparse(hv.config['events']['cmd_address']).hostname
logger.info("Connect to logger on {}".format(host))
socket_handler = logging.handlers.SocketHandler(host, 19996) # default listening address
# socket_handler.setLevel(logging.DEBUG) # always debug
logger.addHandler(socket_handler);
hv.start()