Skip to content

Commit e088916

Browse files
fix(youtube): wire broadcasts into trigger options discovery
1 parent 4f11eaf commit e088916

2 files changed

Lines changed: 19 additions & 0 deletions

File tree

‎plugins/google/connector/youtube.py‎

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -561,6 +561,19 @@ def _fetch_video_options(event=None, connection_id=None, limit=DEFAULT_LIMIT):
561561
fetch=_fetch_video_options))
562562

563563

564+
def _fetch_broadcast_options(event=None, connection_id=None, limit=DEFAULT_LIMIT):
565+
return trigger_discovery.options_from_registry(
566+
"youtube.broadcasts", connection_id, limit, provider="youtube",
567+
params=trigger_discovery.listing_params(event or "upcoming", ("status", "page_token")),
568+
option_of=lambda item: {"value": item.get("id"),
569+
"label": item.get("name") or item.get("id")})
570+
571+
572+
register_trigger_discovery(TriggerDiscovery(
573+
connector="youtube", label="YouTube", kind="options", resource="youtube.broadcasts",
574+
fetch=_fetch_broadcast_options))
575+
576+
564577
def _live_upload(connection, *, transport=None):
565578
"""The connected channel's newest upload as a video.published data dict.
566579

‎tests/test_options_breadth.py‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,12 @@ def test_option_fetches_map_the_event_slot_to_the_listing_params(monkeypatch):
8181
_options("youtube", "youtube.playlist_items", event="UU1234-abcd")
8282
assert seen[-1] == ("youtube.playlist_items", "conn-1", 5, {"playlist_id": "UU1234-abcd"})
8383

84+
_options("youtube", "youtube.broadcasts", event="upcoming/page-two")
85+
assert seen[-1] == ("youtube.broadcasts", "conn-1", 5,
86+
{"status": "upcoming", "page_token": "page-two"})
87+
_options("youtube", "youtube.broadcasts")
88+
assert seen[-1] == ("youtube.broadcasts", "conn-1", 5, {"status": "upcoming"})
89+
8490
# Two params: "<required>/<optional tail>" — a missing tail keeps the
8591
# provider default (worksheet defaults to Sheet1).
8692
_options("google-sheets", "google-sheets.rows", event="sheet-1/Tab 2")

0 commit comments

Comments
 (0)