diff options
| author | Ruben Beltran del Rio <git@r.bdr.sh> | 2025-06-27 20:36:56 +0200 |
|---|---|---|
| committer | Ruben Beltran del Rio <git@r.bdr.sh> | 2025-06-27 20:36:56 +0200 |
| commit | 019ed133569825531b456bd594d85afe6854a232 (patch) | |
| tree | c87d6bf74b57bdacea1ed4de8619eb02bfa87146 /src/lyrics_engine | |
| parent | 72115f805982c7322a0355f4974e0108a3905123 (diff) | |
Apply clippy
Diffstat (limited to 'src/lyrics_engine')
| -rw-r--r-- | src/lyrics_engine/genius.rs | 15 | ||||
| -rw-r--r-- | src/lyrics_engine/mod.rs | 5 |
2 files changed, 9 insertions, 11 deletions
diff --git a/src/lyrics_engine/genius.rs b/src/lyrics_engine/genius.rs index 3c46362..f086fee 100644 --- a/src/lyrics_engine/genius.rs +++ b/src/lyrics_engine/genius.rs @@ -4,7 +4,7 @@ use scraper::{ node::Node::{Element, Text}, }; use serde::Deserialize; -use std::io::{Error, ErrorKind::Other, Result}; +use std::io::{Error, Result}; #[derive(Deserialize, Debug)] struct GeniusApiResponse { @@ -31,12 +31,11 @@ struct GeniusResult { pub async fn search(url: &str) -> Result<String> { let response = get(url) .await - .map_err(|_| Error::new(Other, "Could not perform lyrics search in engine."))? + .map_err(|_| Error::other("Could not perform lyrics search in engine."))? .json::<GeniusApiResponse>() .await .map_err(|_| { - Error::new( - Other, + Error::other( "Lyrics engine returned invalid response from search.", ) })?; @@ -46,7 +45,7 @@ pub async fn search(url: &str) -> Result<String> { .into_iter() .find(|hit| hit.hit_type == "song") .map(|hit| hit.result.url) - .ok_or_else(|| Error::new(Other, "Could not find a matching track in lyrics engine."))?; + .ok_or_else(|| Error::other("Could not find a matching track in lyrics engine."))?; Ok(url) } @@ -54,17 +53,17 @@ pub async fn search(url: &str) -> Result<String> { pub async fn get_lyrics(url: &str) -> Result<String> { let song_html = get(url) .await - .map_err(|_| Error::new(Other, "Could not fetch lyrics from engine."))? + .map_err(|_| Error::other("Could not fetch lyrics from engine."))? .text() .await - .map_err(|_| Error::new(Other, "Lyrics engine returned invalid response."))?; + .map_err(|_| Error::other("Lyrics engine returned invalid response."))?; let document = Html::parse_document(&song_html); let selector = Selector::parse(r#"div[data-lyrics-container="true"]"#).unwrap(); let lyrics_div = document .select(&selector) .next() - .ok_or_else(|| Error::new(Other, "Could not find lyrics in response."))?; + .ok_or_else(|| Error::other("Could not find lyrics in response."))?; let mut lyrics = String::new(); for node in lyrics_div.children() { diff --git a/src/lyrics_engine/mod.rs b/src/lyrics_engine/mod.rs index 81cbf29..746e804 100644 --- a/src/lyrics_engine/mod.rs +++ b/src/lyrics_engine/mod.rs @@ -17,13 +17,12 @@ pub async fn print_lyrics(track: Track, show_title: bool) -> Result<()> { let artist = utf8_percent_encode(&track.artist, NON_ALPHANUMERIC).to_string(); let name = utf8_percent_encode(&track.name, NON_ALPHANUMERIC).to_string(); let url = format!( - "{}?access_token={}&q={}%20{}", - GENIUS_API_URL, GENIUS_CLIENT_TOKEN, artist, name + "{GENIUS_API_URL}?access_token={GENIUS_CLIENT_TOKEN}&q={artist}%20{name}" ); let song_url = search(&url).await?; let lyrics = get_lyrics(&song_url).await?; - println!("{}", lyrics); + println!("{lyrics}"); Ok(()) } |