Script Requirements

Your script must define three methods:

from etv_client import ScriptedScheduleApi
from etv_client.models import *

def define_content(api_instance: ScriptedScheduleApi, context: PlayoutContext, build_id: UUID) -> None:
    """Define the content sources (search queries, collections, shows)"""
    pass

def reset_playout(api_instance: ScriptedScheduleApi, context: PlayoutContext, build_id: UUID) -> PlayoutContext:
    """Called when playout is reset. Return the context."""
    return context

def build_playout(api_instance: ScriptedScheduleApi, context: PlayoutContext, build_id: UUID) -> None:
    """Build the schedule by calling API endpoints until context.is_done"""
    while not context.is_done:
        # Add content, padding, etc.
        # context = api_instance.add_duration(build_id, PlayoutDuration(...))
        pass