"""Locate ONE observed TimelineItem ID and verify GetTrackTypeAndIndex()."""
import argparse
from resolve_api_connection import connect
from resolve_api_timeline import collect_map, locate_item, dumps


def main(argv=None):
    p = argparse.ArgumentParser(description=__doc__)
    p.add_argument("item_id", help="TimelineItem ID from the map, not a MediaPoolItem ID")
    a = p.parse_args(argv)
    report = collect_map(connect())
    item = locate_item(report, a.item_id)
    print(dumps({"timeline_id": report["timeline_id"], "item_id": item["id"],
                 "track_type": item["track_type"], "track_index": item["track_index"],
                 "reported_track": item["reported_track"],
                 "map_complete": report["complete"], "issues": report["issues"],
                 "consistency": report["consistency"]}))
    return 0 if report["complete"] else 2


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