videos: sync Portland 2026 YouTube metadata + playlist#2692
Open
ericholscher wants to merge 1 commit into
Open
videos: sync Portland 2026 YouTube metadata + playlist#2692ericholscher wants to merge 1 commit into
ericholscher wants to merge 1 commit into
Conversation
Add a sync-youtube-metadata.py script that fuzzy-matches channel uploads to sessions, pushes titles/descriptions, manages the conference playlist, and toggles video/playlist privacy. Wire 13 youtubeIds into portland-2026-sessions.yaml and add a new portland-2026-lightning-talks.yaml with both LT days, their speakers, sponsors, and matched video IDs. Register the new playlist ID in create-rtd-video-redirects.py so the /videos/ redirects pick it up on the next RTD run.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
docs/_scripts/sync-youtube-metadata.pyfor syncing conference video metadata to YouTube via the Data API v3. Subcommands:match(fuzzy-match channel uploads to sessions, writesyoutubeIdback to the sessions YAML),sync(push titles + descriptions for talks),lt(push titles + descriptions for the lightning-talk videos),playlist(find or create the conference playlist and add videos in schedule order), andpublish(set privacy on everything tracked).youtubeIdvalues for Portland 2026 talks todocs/_data/portland-2026-sessions.yaml.docs/_data/portland-2026-lightning-talks.yamlwith both LT days, all 12 speakers (titles, subtitles, pronouns), sponsors, and YouTube IDs — structured so we can later render this onlightning-talks.md.create-rtd-video-redirects.pyso the year-listing redirect resolves to it on the next RTD run.All 15 videos and the playlist were updated on the channel as part of this work.
Test plan
uv run yamale -s docs/_data/schema-sessions.yaml docs/_data/portland-2026-sessions.yaml -p ruamelpassespython -c "import ast; ast.parse(...)"confirms script parsesmatch --dry-run,sync --dry-run,lt --dry-run,playlist --dry-run,publish --dry-runall run cleanlycreate-rtd-video-redirects.pyonce an RTD token is available🤖 Generated with Claude Code
📚 Documentation preview 📚: https://writethedocs-www--2692.org.readthedocs.build/