From 0fa97c27d00b147d63c3e5561ba7713e3bfcbce2 Mon Sep 17 00:00:00 2001 From: MrDulfin Date: Mon, 20 May 2024 00:23:45 -0400 Subject: [PATCH] Cleaned up many warnings --- src/config/config.rs | 63 ++++++++++++++++++++---------- src/music_controller/controller.rs | 45 +++------------------ src/music_controller/queue.rs | 21 ++-------- src/music_storage/library.rs | 2 +- src/music_storage/playlist.rs | 17 +++----- 5 files changed, 58 insertions(+), 90 deletions(-) diff --git a/src/config/config.rs b/src/config/config.rs index 1c19b15..9b8ede8 100644 --- a/src/config/config.rs +++ b/src/config/config.rs @@ -1,7 +1,7 @@ use std::{ + fs::{self, File, OpenOptions}, + io::{Error, Read, Write}, path::PathBuf, - fs::{File, OpenOptions, self}, - io::{Error, Write, Read}, }; use serde::{Deserialize, Serialize}; @@ -41,7 +41,7 @@ impl ConfigLibrary { pub fn open(&self) -> Result { match File::open(self.path.as_path()) { Ok(ok) => Ok(ok), - Err(e) => Err(e) + Err(e) => Err(e), } } } @@ -62,18 +62,17 @@ impl ConfigLibraries { pub fn get_default(&self) -> Result<&ConfigLibrary, ConfigError> { for library in &self.libraries { if library.uuid == self.default_library { - return Ok(library) + return Ok(library); } } Err(ConfigError::NoDefaultLibrary) } pub fn get_library(&self, uuid: &Uuid) -> Result { - for library in &self.libraries { // dbg!(&library.uuid, &uuid); if &library.uuid == uuid { - return Ok(library.to_owned()) + return Ok(library.to_owned()); } } Err(ConfigError::NoConfigLibrary(*uuid)) @@ -82,7 +81,7 @@ impl ConfigLibraries { pub fn uuid_exists(&self, uuid: &Uuid) -> bool { for library in &self.libraries { if &library.uuid == uuid { - return true + return true; } } false @@ -91,7 +90,7 @@ impl ConfigLibraries { #[derive(Debug, Default, Serialize, Deserialize, Clone)] pub struct ConfigConnections { - pub listenbrainz_token: Option + pub listenbrainz_token: Option, } #[derive(Debug, Default, Serialize, Deserialize, Clone)] @@ -122,7 +121,12 @@ impl Config { pub fn write_file(&self) -> Result<(), Error> { let mut writer = self.path.clone(); writer.set_extension("tmp"); - let mut file = OpenOptions::new().create(true).truncate(true).read(true).write(true).open(&writer)?; + let mut file = OpenOptions::new() + .create(true) + .truncate(true) + .read(true) + .write(true) + .open(&writer)?; let config = to_string_pretty(self)?; // dbg!(&config); @@ -136,15 +140,20 @@ impl Config { Some(path) => { let mut writer = path.clone(); writer.set_extension("tmp"); - let mut file = OpenOptions::new().create(true).truncate(true).read(true).write(true).open(&writer)?; + let mut file = OpenOptions::new() + .create(true) + .truncate(true) + .read(true) + .write(true) + .open(&writer)?; let config = to_string_pretty(self)?; // dbg!(&config); file.write_all(config.as_bytes())?; fs::rename(writer, self.path.as_path())?; Ok(()) - }, - None => Err(ConfigError::NoBackupLibrary.into()) + } + None => Err(ConfigError::NoBackupLibrary.into()), } } @@ -175,17 +184,23 @@ pub enum ConfigError { BadPlaylist, #[error("No backup Config folder present")] NoBackupLibrary, - } #[cfg(test)] pub mod tests { - use std::{path::PathBuf, sync::{Arc, RwLock}}; + use super::{Config, ConfigLibrary}; use crate::music_storage::library::MusicLibrary; - use super::{Config, ConfigLibraries, ConfigLibrary}; + use std::{ + path::PathBuf, + sync::{Arc, RwLock}, + }; pub fn new_config_lib() -> (Config, MusicLibrary) { - let lib = ConfigLibrary::new(PathBuf::from("test-config/library"), String::from("library"), None); + let lib = ConfigLibrary::new( + PathBuf::from("test-config/library"), + String::from("library"), + None, + ); let mut config = Config { path: PathBuf::from("test-config/config_test.json"), ..Default::default() @@ -194,7 +209,11 @@ pub mod tests { config.push_library(lib); config.write_file().unwrap(); - let mut lib = MusicLibrary::init(Arc::new(RwLock::from(config.clone())), dbg!(config.libraries.default_library)).unwrap(); + let mut lib = MusicLibrary::init( + Arc::new(RwLock::from(config.clone())), + dbg!(config.libraries.default_library), + ) + .unwrap(); lib.scan_folder("test-config/music/").unwrap(); lib.save(config.clone()).unwrap(); @@ -206,20 +225,22 @@ pub mod tests { // dbg!(&config); - let mut lib = MusicLibrary::init(Arc::new(RwLock::from(config.clone())), config.libraries.get_default().unwrap().uuid).unwrap(); - + let mut lib = MusicLibrary::init( + Arc::new(RwLock::from(config.clone())), + config.libraries.get_default().unwrap().uuid, + ) + .unwrap(); lib.scan_folder("test-config/music/").unwrap(); lib.save(config.clone()).unwrap(); - (config, lib) } #[test] fn test3() { - let (config, lib) = read_config_lib(); + let (config, _) = read_config_lib(); _ = config.write_file(); diff --git a/src/music_controller/controller.rs b/src/music_controller/controller.rs index f84545c..5e0ea55 100644 --- a/src/music_controller/controller.rs +++ b/src/music_controller/controller.rs @@ -12,7 +12,6 @@ use std::error::Error; use uuid::Uuid; use crate::music_player::player::Player; -use crate::music_storage::library::URI; use crate::{ config::config::Config, music_controller::queue::Queue, music_storage::library::MusicLibrary, }; @@ -21,7 +20,7 @@ pub struct Controller { pub queue: Queue, pub config: Arc>, pub library: MusicLibrary, - pub player: P, + pub player: Box

, } #[derive(Debug)] @@ -55,19 +54,12 @@ impl MailMan { } } -enum PlayerCmd { - Test(URI), -} - -enum PlayerRes { - Test, -} - #[allow(unused_variables)] -impl

Controller

{ +impl Controller

{ pub fn start(config_path: T) -> Result> where std::path::PathBuf: std::convert::From, + P: Player, { let config_path = PathBuf::from(config_path); @@ -77,13 +69,11 @@ impl

Controller

{ let config_ = Arc::new(RwLock::from(config)); let library = MusicLibrary::init(config_.clone(), uuid)?; - let (player_mail, in_thread) = MailMan::::double(); - Ok(Controller { - queue: Queue::new(), + queue: Queue::default(), config: config_.clone(), library, - player: P::new(), + player: Box::new(P::new()), }) } @@ -94,27 +84,4 @@ impl

Controller

{ } #[cfg(test)] -mod test_super { - use std::{thread::sleep, time::Duration}; - - use super::Controller; - - #[test] - fn play_test() { - let mut a = match Controller::start("test-config/config_test.json".to_string()) { - Ok(c) => c, - Err(e) => panic!("{e}"), - }; - sleep(Duration::from_millis(500)); - } - - #[test] - fn test_() { - let c = Controller::start( - "F:\\Dangoware\\Dango Music Player\\dmp-core\\test-config\\config_test.json", - ) - .unwrap(); - - sleep(Duration::from_secs(60)); - } -} +mod test_super {} diff --git a/src/music_controller/queue.rs b/src/music_controller/queue.rs index 380d157..6c533c3 100644 --- a/src/music_controller/queue.rs +++ b/src/music_controller/queue.rs @@ -1,8 +1,5 @@ -use crate::music_storage::library::{MusicLibrary, Song, URI}; -use std::{ - error::Error, - sync::{Arc, RwLock}, -}; +use crate::music_storage::library::Song; +use std::error::Error; use uuid::Uuid; use thiserror::Error; @@ -53,7 +50,7 @@ impl From for QueueItem { } } -#[derive(Debug)] +#[derive(Debug, Default)] pub struct Queue { pub items: Vec, pub played: Vec, @@ -81,16 +78,6 @@ impl Queue { ); } - pub fn new() -> Self { - //TODO: Make the queue take settings from config/state if applicable - Queue { - items: Vec::new(), - played: Vec::new(), - loop_: false, - shuffle: false, - } - } - pub fn set_items(&mut self, tracks: Vec) { let mut tracks = tracks; self.items.clear(); @@ -131,7 +118,7 @@ impl Queue { let empty = self.items.is_empty(); self.items.insert( - (if empty { 0 } else { 1 }), + if empty { 0 } else { 1 }, QueueItem { item, state: if (self.items.get(1).is_none() diff --git a/src/music_storage/library.rs b/src/music_storage/library.rs index 344dd3a..e3e660e 100644 --- a/src/music_storage/library.rs +++ b/src/music_storage/library.rs @@ -642,7 +642,7 @@ impl MusicLibrary { name, uuid, library: Vec::new(), - playlists: PlaylistFolder::new(), + playlists: PlaylistFolder::default(), backup_songs: Vec::new(), } } diff --git a/src/music_storage/playlist.rs b/src/music_storage/playlist.rs index e7ae61b..788e59b 100644 --- a/src/music_storage/playlist.rs +++ b/src/music_storage/playlist.rs @@ -1,3 +1,4 @@ +use std::default; use std::error::Error; use std::{ fs::File, @@ -26,6 +27,7 @@ pub enum SortOrder { nest! { #[derive(Debug, Clone, Deserialize, Serialize)]* + #[derive(Default)] pub struct PlaylistFolder { name: String, items: Vec< @@ -37,15 +39,6 @@ nest! { } } -impl PlaylistFolder { - pub fn new() -> Self { - PlaylistFolder { - name: String::new(), - items: Vec::new(), - } - } -} - #[derive(Debug, Clone, Deserialize, Serialize)] pub struct Playlist { uuid: Uuid, @@ -233,7 +226,7 @@ impl Playlist { #[cfg(target_family = "windows")] { playlist.title = path - .split("\\") + .split('\\') .last() .unwrap_or_default() .strip_suffix(".m3u8") @@ -339,7 +332,7 @@ impl Default for Playlist { #[cfg(test)] mod test_super { use super::*; - use crate::{config::config::tests::read_config_lib, music_storage::playlist}; + use crate::config::config::tests::read_config_lib; #[test] fn list_to_m3u8() { @@ -360,7 +353,7 @@ mod test_super { let playlist = Playlist::from_m3u8(".\\test-config\\playlists\\playlist.m3u8", arc).unwrap(); - playlist.to_file(".\\test-config\\playlists\\playlist"); + _ = playlist.to_file(".\\test-config\\playlists\\playlist"); dbg!(playlist) }