#!/usr/bin/env python
"""
Run lacmus2 toiler process.
"""
import argparse
import logging

from lacmus2.toiler.registry import make_toiler


def main():
    parser = argparse.ArgumentParser(description=__doc__)
    parser.add_argument('--skynet-path',
                        help='path to root of skynet directory. '
                             'specify this for using skynet logger. '
                             'debug logging to stderr will be used '
                             'otherwise')
    args = parser.parse_args()
    if not args.skynet_path:
        logging.basicConfig(
            level=logging.INFO,
            format='%(asctime)-15s %(name)s %(levelname)s %(message)s'
        )
    else:
        import sys
        sys.path.append(args.skynet_path)
        from api.logger import SkynetLoggingHandler
        handler = SkynetLoggingHandler(app="lacmus",
                                       filename="lacmus-toiler.log")
        logging.root.addHandler(handler)
        logging.root.setLevel(logging.INFO)

    try:
        toiler = make_toiler()
        toiler.run()
    except KeyboardInterrupt:
        pass
    except:
        logging.root.exception('')


if __name__ == '__main__':
    main()
