#!/usr/bin/env python3

from libnxctrl.bluetooth import get_backend

from splatplost.plot import plot

if __name__ == "__main__":
    import argparse

    parser = argparse.ArgumentParser(description='Draw a plot on the switch.')
    parser.add_argument('--backend', choices=['nxbt', 'poohl', 'mart1no'], default='nxbt',
                        help='The backend to use.'
                        )
    parser.add_argument('--delay_time_ms', type=int, default=100, help='The delay time between each step.')
    parser.add_argument('--press_duration_ms', type=int, default=100, help='The duration of each step.')
    parser.add_argument('--order', required=True, help='The order file.')
    parser.add_argument('--stable', action='store_true',
                        help='Whether to use stable mode. (Will remove the progress bar but increase stability.)'
                        )

    args = parser.parse_args()
    back = get_backend(args.backend)
    with open(args.order) as f:
        plot(order_list=f.readlines(),
             backend=back,
             delay_ms=args.delay_time_ms,
             press_duration_ms=args.press_duration_ms,
             stable_mode=args.stable
             )
