diff --git a/rustfmt.toml b/rustfmt.toml new file mode 100644 index 0000000..218e203 --- /dev/null +++ b/rustfmt.toml @@ -0,0 +1 @@ +hard_tabs = true diff --git a/src/converter.rs b/src/converter.rs index 666218f..95de455 100644 --- a/src/converter.rs +++ b/src/converter.rs @@ -3,7 +3,7 @@ use std::io::{Error, ErrorKind, Read, Seek}; use crate::downloader::{AudioFormat, Quality}; use crate::error::SpotifyError; -use crate::error::SpotifyError::{LameConverterError, InvalidFormat}; +use crate::error::SpotifyError::{InvalidFormat, LameConverterError}; /// Converts audio to MP3 pub enum AudioConverter { @@ -35,16 +35,16 @@ impl AudioConverter { match lame.set_channels(2) { Ok(_) => {} - Err(_) => return Err(LameConverterError("Channels".to_string())) + Err(_) => return Err(LameConverterError("Channels".to_string())), }; - match lame.set_quality(0) { + match lame.set_quality(0) { Ok(_) => {} - Err(_) => return Err(LameConverterError("Quality".to_string())) + Err(_) => return Err(LameConverterError("Quality".to_string())), }; - match lame.set_kilobitrate(bitrate) { + match lame.set_kilobitrate(bitrate) { Ok(_) => {} - Err(_) => return Err(LameConverterError("Bitrate".to_string())) + Err(_) => return Err(LameConverterError("Bitrate".to_string())), }; match format { @@ -55,13 +55,13 @@ impl AudioConverter { let decoder = OggStreamReader::new(ReadWrap::new(Box::new(read)))?; let sample_rate = decoder.ident_hdr.audio_sample_rate; // Init lame - match lame.set_sample_rate(sample_rate) { + match lame.set_sample_rate(sample_rate) { Ok(_) => {} - Err(_) => return Err(LameConverterError("Sample rate".to_string())) + Err(_) => return Err(LameConverterError("Sample rate".to_string())), }; - match lame.init_params() { + match lame.init_params() { Ok(_) => {} - Err(_) => return Err(LameConverterError("Init".to_string())) + Err(_) => return Err(LameConverterError("Init".to_string())), }; Ok(AudioConverter::Ogg { diff --git a/src/downloader.rs b/src/downloader.rs index efae5f2..8f00e01 100644 --- a/src/downloader.rs +++ b/src/downloader.rs @@ -64,20 +64,20 @@ impl Downloader { input: &str, ) -> Result>, SpotifyError> { if let Ok(uri) = Spotify::parse_uri(input) { - if let Err(e) = self.add_uri(&uri).await { - return Err(e); - } - Ok(None) - } else { - let results: Vec = self - .spotify - .search(input) - .await? - .into_iter() - .map(SearchResult::from) - .collect(); - Ok(Some(results)) + if let Err(e) = self.add_uri(&uri).await { + return Err(e); } + Ok(None) + } else { + let results: Vec = self + .spotify + .search(input) + .await? + .into_iter() + .map(SearchResult::from) + .collect(); + Ok(Some(results)) + } } /// Add URL or URI to queue @@ -472,7 +472,7 @@ impl DownloaderInternal { Ok(()) } - async fn find_alternative(session: &Session, track : Track) -> Result { + async fn find_alternative(session: &Session, track: Track) -> Result { for alt in track.alternatives { let t = Track::get(&session, alt).await?; if t.available { diff --git a/src/settings.rs b/src/settings.rs index bd403bc..23a7deb 100644 --- a/src/settings.rs +++ b/src/settings.rs @@ -27,7 +27,7 @@ impl Settings { client_id: client_id.to_string(), client_secret: client_secret.to_string(), refresh_ui_seconds: 1, - downloader: DownloaderConfig::new() + downloader: DownloaderConfig::new(), } } diff --git a/src/spotify.rs b/src/spotify.rs index 0e7635f..9a921d0 100644 --- a/src/spotify.rs +++ b/src/spotify.rs @@ -1,4 +1,7 @@ -use aspotify::{Album, Artist, Client, ClientCredentials, ItemType, Playlist, PlaylistItemType, Track, TrackSimplified}; +use aspotify::{ + Album, Artist, Client, ClientCredentials, ItemType, Playlist, PlaylistItemType, Track, + TrackSimplified, +}; use librespot::core::authentication::Credentials; use librespot::core::config::SessionConfig; use librespot::core::session::Session; @@ -89,14 +92,14 @@ impl Spotify { /// Get search results for query pub async fn search(&self, query: &str) -> Result, SpotifyError> { Ok(self - .spotify - .search() - .search(query, [ItemType::Track], true, 50, 0, None) - .await? - .data - .tracks - .unwrap() - .items) + .spotify + .search() + .search(query, [ItemType::Track], true, 50, 0, None) + .await? + .data + .tracks + .unwrap() + .items) } /// Get all tracks from playlist diff --git a/src/tag/mod.rs b/src/tag/mod.rs index 2583265..968a884 100644 --- a/src/tag/mod.rs +++ b/src/tag/mod.rs @@ -12,48 +12,47 @@ mod id3; mod ogg; pub enum TagWrap { - Ogg(OggTag), - Id3(ID3Tag), + Ogg(OggTag), + Id3(ID3Tag), } impl TagWrap { + /// Load from file + pub fn new(path: impl AsRef, format: AudioFormat) -> Result { + match format { + AudioFormat::Ogg => Ok(TagWrap::Ogg(OggTag::open(path)?)), + AudioFormat::Mp3 => Ok(TagWrap::Id3(ID3Tag::open(path)?)), + _ => Err(SpotifyError::Error("Invalid format!".into())), + } + } - /// Load from file - pub fn new(path: impl AsRef, format: AudioFormat) -> Result { - match format { - AudioFormat::Ogg => Ok(TagWrap::Ogg(OggTag::open(path)?)), - AudioFormat::Mp3 => Ok(TagWrap::Id3(ID3Tag::open(path)?)), - _ => Err(SpotifyError::Error("Invalid format!".into())), - } - } - - /// Get Tag trait - pub fn get_tag(&mut self) -> &mut dyn Tag { - match self { - TagWrap::Ogg(tag) => tag, - TagWrap::Id3(tag) => tag, - } - } + /// Get Tag trait + pub fn get_tag(&mut self) -> &mut dyn Tag { + match self { + TagWrap::Ogg(tag) => tag, + TagWrap::Id3(tag) => tag, + } + } } pub trait Tag { - // Set tag values separator - fn set_separator(&mut self, separator: &str); - fn set_raw(&mut self, tag: &str, value: Vec); - fn set_field(&mut self, field: Field, value: Vec); - fn set_release_date(&mut self, date: NaiveDate); - fn add_cover(&mut self, mime: &str, data: Vec); - fn save(&mut self) -> Result<(), SpotifyError>; + // Set tag values separator + fn set_separator(&mut self, separator: &str); + fn set_raw(&mut self, tag: &str, value: Vec); + fn set_field(&mut self, field: Field, value: Vec); + fn set_release_date(&mut self, date: NaiveDate); + fn add_cover(&mut self, mime: &str, data: Vec); + fn save(&mut self) -> Result<(), SpotifyError>; } #[derive(Debug, Clone)] pub enum Field { - Title, - Artist, - Album, - TrackNumber, - DiscNumber, - AlbumArtist, - Genre, - Label, + Title, + Artist, + Album, + TrackNumber, + DiscNumber, + AlbumArtist, + Genre, + Label, }