YT Music: Fix syncing 'Episodes for later' in podcast library sync#3582
Conversation
ytmusicapi.get_library_podcasts() returns special auto-playlists like "Episodes for Later" (podcastId: "SE") alongside real podcasts. These aren't actual podcasts, so fetching episodes via ytm.get_podcast() returns HTTP 400. Filter them using the existing YT_PERSONAL_PLAYLISTS tuple, matching how playlist sync already handles them. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
Not sure if I agree with this logic. I guess we just have to treat this like we do with Liked Music (LM) in playlists. Now we are blindly filtering 'Episodes for Later' which is definitely something nice to have. Options I see:
I think I prefer the former as it is a nice way for people to jump in |
Instead of filtering SE from podcast sync entirely, handle it like Liked Music (LM) is handled for playlists: allow it through the auto-playlist filter and use the playlist API (instead of the podcast API) to fetch its details and episodes. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
That makes sense. What about this approach? Also, I was going to add some tests for this and saw there weren't any. I don't want to add them to this PR but would you like a different PR to add some test structure and basic tests for this provider? I might be able to do that in the near-term. |
|
I just had a play with it and it turns out that This will make sure the podcast sync task succeeds again and people can listen to podcasts from YT Music |
MarvinSchenkel
left a comment
There was a problem hiding this comment.
Thanks @teancom 👏
…3582) Found this while trying to figure out a different issue. ytmusicapi.get_library_podcasts() returns special auto-playlists like "Episodes for Later" (podcastId: "SE") alongside real podcasts. These aren't actual podcasts, so fetching episodes via ytm.get_podcast() returns HTTP 400. Filter them using the existing YT_PERSONAL_PLAYLISTS tuple, matching how playlist sync already handles them. --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Co-authored-by: Marvin Schenkel <marvinschenkel@gmail.com>
Found this while trying to figure out a different issue.
ytmusicapi.get_library_podcasts() returns special auto-playlists like "Episodes for Later" (podcastId: "SE") alongside real podcasts. These aren't actual podcasts, so fetching episodes via ytm.get_podcast() returns HTTP 400. Filter them using the existing YT_PERSONAL_PLAYLISTS tuple, matching how playlist sync already handles them.