"""Discover MOV codecs or select one exact H.265 ID. No job is queued or rendered."""
import argparse
from resolve_api_connection import connect
from resolve_api_output import cli_target, cli_write, inspect_mov, print_result, run_action


def main():
    p = argparse.ArgumentParser(description=__doc__)
    cli_target(p)
    cli_write(p)
    p.add_argument("--codec", help="Exact ID returned for an H.265/HEVC description")
    a = p.parse_args()
    if a.apply and not a.codec:
        p.error("--apply needs --codec; discovery does not mutate Resolve")
    if not a.codec:
        return print_result(lambda: inspect_mov(connect(), a.project_id))
    return print_result(lambda: run_action(
        connect(), a.project_id, a.timeline_id, "pair", codec=a.codec,
        apply=a.apply, expect_plan=a.expect_plan, test_copy=a.test_copy))


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