import datetime
import serial
import argparse


def parse_arguments():
    usage_text = (
        "Usage:  python sync_date.py [PORT]\n"
    )
    parser = argparse.ArgumentParser(description=usage_text)
    parser.add_argument("port", nargs=1, help="Serial port")
    return parser.parse_known_args()


def sync_date(ser):
    # n = datetime.datetime.now()
    n = datetime.datetime(2020, 3, 30, 15, 20, 17)
    txt = "S{:04}-{:02}-{:02} {:02}:{:02}:{:02} {}\n".format(n.year,
                                                             n.month,
                                                             n.day,
                                                             n.hour,
                                                             n.minute,
                                                             n.second,
                                                             1+n.weekday())
    txt_b = bytes(txt, "ascii")
    ser.write(txt_b)
    print("SEND:\n  {}".format(txt.strip()))
    reply = ser.readline().decode("ascii")
    print("REPLY:\n  {}".format(reply.strip()))


def main():
    args, _ = parse_arguments()

    port = args.port[0]

    s = serial.Serial(port, timeout=1)
    sync_date(s)
    s.close()


if __name__ == "__main__":
    main()
