#!/usr/bin/env python3

import signal
from argparse import ArgumentParser
from chroma_feedback.core import run, destroy
from chroma_feedback import metadata
from chroma_feedback.consumer import __all__ as consumer
from chroma_feedback.producer import __all__ as producer

signal.signal(signal.SIGINT, destroy)

program = ArgumentParser()
program.add_argument('-V', '--version', action = 'version', version = metadata.get('name') + ' ' + metadata.get('version'))
program.add_argument('-P', '--producer', action = 'append', choices = producer, required = True)
program.add_argument('-C', '--consumer', action = 'append', choices = consumer, required = True)
program.add_argument('-I', '--background-interval', default = 60, type = int)
program.add_argument('-B', '--background-run', action = 'store_true')
program.add_argument('-D', '--dry-run', action = 'store_true')

run(program)
