From 8ea69d54535e64d2595698943a5d4fd8ac5675cd Mon Sep 17 00:00:00 2001 From: ThetaDev Date: Mon, 3 Jul 2023 16:57:23 +0200 Subject: [PATCH] fix!: remove music playlist search without filter --- cli/src/main.rs | 10 ++------- codegen/src/download_testfiles.rs | 2 +- src/client/music_search.rs | 37 +++++++------------------------ tests/youtube.rs | 35 +++++++++-------------------- 4 files changed, 22 insertions(+), 62 deletions(-) diff --git a/cli/src/main.rs b/cli/src/main.rs index 4cd1142..c96cd98 100644 --- a/cli/src/main.rs +++ b/cli/src/main.rs @@ -173,7 +173,6 @@ enum MusicSearchCategory { Videos, Artists, Albums, - Playlists, PlaylistsYtm, PlaylistsCommunity, } @@ -676,15 +675,10 @@ async fn main() { res.items.extend_limit(rp.query(), limit).await.unwrap(); print_data(&res, format, pretty); } - Some(MusicSearchCategory::Playlists) => { - let mut res = rp.query().music_search_playlists(&query).await.unwrap(); - res.items.extend_limit(rp.query(), limit).await.unwrap(); - print_data(&res, format, pretty); - } Some(MusicSearchCategory::PlaylistsYtm) => { let mut res = rp .query() - .music_search_playlists_filter(&query, false) + .music_search_playlists(&query, false) .await .unwrap(); res.items.extend_limit(rp.query(), limit).await.unwrap(); @@ -693,7 +687,7 @@ async fn main() { Some(MusicSearchCategory::PlaylistsCommunity) => { let mut res = rp .query() - .music_search_playlists_filter(&query, true) + .music_search_playlists(&query, true) .await .unwrap(); res.items.extend_limit(rp.query(), limit).await.unwrap(); diff --git a/codegen/src/download_testfiles.rs b/codegen/src/download_testfiles.rs index 0d1357f..147db3e 100644 --- a/codegen/src/download_testfiles.rs +++ b/codegen/src/download_testfiles.rs @@ -619,7 +619,7 @@ async fn music_search_playlists() { let rp = rp_testfile(&json_path); rp.query() - .music_search_playlists_filter("pop", community) + .music_search_playlists("pop", community) .await .unwrap(); } diff --git a/src/client/music_search.rs b/src/client/music_search.rs index 3e2389d..f844cf9 100644 --- a/src/client/music_search.rs +++ b/src/client/music_search.rs @@ -40,8 +40,6 @@ enum Params { Albums, #[serde(rename = "EgWKAQIgAWoMEAMQBBAJEA4QChAF")] Artists, - #[serde(rename = "EgWKAQIoAWoMEAMQBBAJEA4QChAF")] - Playlists, #[serde(rename = "EgeKAQQoADgBagwQAxAEEAkQDhAKEAU%3D")] YtmPlaylists, #[serde(rename = "EgeKAQQoAEABagwQAxAEEAkQDhAKEAU%3D")] @@ -152,44 +150,25 @@ impl RustyPipeQuery { ) .await } - /// Search YouTube Music playlists + /// + /// Playlists are filtered whether they are created by users + /// (`community=true`) or by YouTube Music (`community=false`) pub async fn music_search_playlists>( &self, query: S, - ) -> Result, Error> { - self._music_search_playlists(query, Params::Playlists).await - } - - /// Search YouTube Music playlists that were created by users - /// (`community=true`) or by YouTube Music (`community=false`) - pub async fn music_search_playlists_filter>( - &self, - query: S, community: bool, - ) -> Result, Error> { - self._music_search_playlists( - query, - if community { - Params::CommunityPlaylists - } else { - Params::YtmPlaylists - }, - ) - .await - } - - async fn _music_search_playlists>( - &self, - query: S, - params: Params, ) -> Result, Error> { let query = query.as_ref(); let context = self.get_context(ClientType::DesktopMusic, true, None).await; let request_body = QSearch { context, query, - params: Some(params), + params: Some(if community { + Params::CommunityPlaylists + } else { + Params::YtmPlaylists + }), }; self.execute_request::( diff --git a/tests/youtube.rs b/tests/youtube.rs index 5835b1d..121870b 100644 --- a/tests/youtube.rs +++ b/tests/youtube.rs @@ -1808,18 +1808,12 @@ fn music_search_artists_cont(rp: RustyPipe) { } #[rstest] -#[case::ytm(false)] -#[case::default(true)] -fn music_search_playlists(#[case] with_community: bool, rp: RustyPipe, unlocalized: bool) { - let res = if with_community { - tokio_test::block_on(rp.query().music_search_playlists("today's rock hits")).unwrap() - } else { - tokio_test::block_on( - rp.query() - .music_search_playlists_filter("today's rock hits", false), - ) - .unwrap() - }; +fn music_search_playlists(rp: RustyPipe, unlocalized: bool) { + let res = tokio_test::block_on( + rp.query() + .music_search_playlists("today's rock hits", false), + ) + .unwrap(); assert_eq!(res.corrected_query, None); let playlist = res @@ -1837,24 +1831,17 @@ fn music_search_playlists(#[case] with_community: bool, rp: RustyPipe, unlocaliz assert_eq!(playlist.channel, None); assert!(playlist.from_ytm); - if with_community { - assert!( - res.items.items.iter().any(|p| !p.from_ytm), - "no community items found" - ) - } else { - assert!( - res.items.items.iter().all(|p| p.from_ytm), - "community items found" - ) - } + assert!( + res.items.items.iter().all(|p| p.from_ytm), + "community items found" + ) } #[rstest] fn music_search_playlists_community(rp: RustyPipe) { let res = tokio_test::block_on( rp.query() - .music_search_playlists_filter("Best Pop Music Videos - Top Pop Hits Playlist", true), + .music_search_playlists("Best Pop Music Videos - Top Pop Hits Playlist", true), ) .unwrap();