diff --git a/src/client2/mod.rs b/src/client2/mod.rs index f7ee912..ec66071 100644 --- a/src/client2/mod.rs +++ b/src/client2/mod.rs @@ -253,7 +253,7 @@ impl RustyPipe { reporter: Option>, user_agent: Option, ) -> Self { - let user_agent = user_agent.unwrap_or(DEFAULT_UA.to_owned()); + let user_agent = user_agent.unwrap_or_else(|| DEFAULT_UA.to_owned()); let http = ClientBuilder::new() .user_agent(user_agent.to_owned()) @@ -563,6 +563,7 @@ impl RustyPipeQuery { } } + #[allow(clippy::too_many_arguments)] async fn execute_request_deobf< R: DeserializeOwned + MapResponse + Debug, M, @@ -767,7 +768,7 @@ async fn extract_desktop_client_version(http: Client, consent_cookie: String) -> .context("Failed to download sw.js")?; util::get_cg_from_regexes(CLIENT_VERSION_REGEXES.iter(), &swjs, 1) - .ok_or(anyhow!("Could not find desktop client version in sw.js")) + .ok_or_else(|| anyhow!("Could not find desktop client version in sw.js")) }; let from_html = async { @@ -780,9 +781,8 @@ async fn extract_desktop_client_version(http: Client, consent_cookie: String) -> .await .context("Failed to get YT Desktop page")?; - util::get_cg_from_regexes(CLIENT_VERSION_REGEXES.iter(), &html, 1).ok_or(anyhow!( - "Could not find desktop client version on html page" - )) + util::get_cg_from_regexes(CLIENT_VERSION_REGEXES.iter(), &html, 1) + .ok_or_else(|| anyhow!("Could not find desktop client version on html page")) }; match from_swjs.await { @@ -806,7 +806,7 @@ async fn extract_music_client_version(http: Client, consent_cookie: String) -> R .context("Failed to download sw.js")?; util::get_cg_from_regexes(CLIENT_VERSION_REGEXES.iter(), &swjs, 1) - .ok_or(anyhow!("Could not find desktop client version in sw.js")) + .ok_or_else(|| anyhow!("Could not find desktop client version in sw.js")) }; let from_html = async { @@ -817,9 +817,8 @@ async fn extract_music_client_version(http: Client, consent_cookie: String) -> R .await .context("Failed to get YT Desktop page")?; - util::get_cg_from_regexes(CLIENT_VERSION_REGEXES.iter(), &html, 1).ok_or(anyhow!( - "Could not find desktop client version on html page" - )) + util::get_cg_from_regexes(CLIENT_VERSION_REGEXES.iter(), &html, 1) + .ok_or_else(|| anyhow!("Could not find desktop client version on html page")) }; match from_swjs.await { diff --git a/src/client2/player.rs b/src/client2/player.rs index 079ef26..b920971 100644 --- a/src/client2/player.rs +++ b/src/client2/player.rs @@ -297,7 +297,7 @@ fn deobf_nsig( let nsig: String; match url_params.get("n") { Some(n) => { - nsig = if n.to_owned() == last_nsig[0] { + nsig = if n == &last_nsig[0] { last_nsig[1].to_owned() } else { let nsig = deobf.deobfuscate_nsig(n)?; @@ -503,7 +503,7 @@ fn parse_mime(mime: &str) -> Option<(&str, Vec<&str>)> { static PATTERN: Lazy = Lazy::new(|| Regex::new(r#"(\w+/\w+);\scodecs="([a-zA-Z-0-9.,\s]*)""#).unwrap()); - let captures = some_or_bail!(PATTERN.captures(&mime).ok().flatten(), None); + let captures = some_or_bail!(PATTERN.captures(mime).ok().flatten(), None); Some(( captures.get(1).unwrap().as_str(), captures diff --git a/src/client2/playlist.rs b/src/client2/playlist.rs index 2fd0ade..dcd1023 100644 --- a/src/client2/playlist.rs +++ b/src/client2/playlist.rs @@ -183,21 +183,15 @@ impl MapResponse for response::Playlist { let description = self.header.playlist_header_renderer.description_text; let channel = match self.header.playlist_header_renderer.owner_text { - Some(owner_text) => match owner_text { - TextLink::Browse { - text, - page_type, - browse_id, - } => match page_type { - PageType::Channel => Some(Channel { - id: browse_id, - name: text, - }), - _ => None, - }, - _ => None, - }, - None => None, + Some(TextLink::Browse { + text, + page_type: PageType::Channel, + browse_id, + }) => Some(Channel { + id: browse_id, + name: text, + }), + _ => None, }; let mut warnings = video_items.warnings.to_owned(); @@ -256,7 +250,7 @@ impl MapResponse<(Vec