"""Convert explicit [start,end) coordinates into one Deliver range settings call."""
import argparse
from resolve_api_connection import connect
from resolve_api_delivery import cli_write, cli_flags, apply_settings, print_result


def main():
    p = argparse.ArgumentParser(description=__doc__)
    cli_write(p)
    p.add_argument('--start', type=int, required=True)
    p.add_argument('--end-exclusive', type=int, required=True)
    p.add_argument('--coordinates', choices=['absolute', 'offset'], required=True)
    a = p.parse_args()
    return print_result(lambda: apply_settings(connect(), mode='range', start=a.start,
                       end=a.end_exclusive, coordinates=a.coordinates, **cli_flags(a)))


if __name__ == "__main__":
    raise SystemExit(main())
