From 686e0d8f1fd839b7e820cc9602c1af0e0013f5eb Mon Sep 17 00:00:00 2001 From: KD Date: Fri, 24 Oct 2025 13:34:55 -0400 Subject: [PATCH] tsk-81: Simplify downloading song (#89) * tsk-81: Using method in Song to save to filesystem * tsk-81: icaurs_models version bump * tsk-81: Code formatting * tsk-81: icarus_models version bump * tsk-81: Version bump --- Cargo.lock | 6 +++--- Cargo.toml | 4 ++-- src/managers/commit_manager.rs | 23 ++++++++++++++++------- 3 files changed, 21 insertions(+), 12 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 061ddc0..2d5e77e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -451,7 +451,7 @@ dependencies = [ [[package]] name = "icarus-dm" -version = "0.8.6" +version = "0.8.7" dependencies = [ "futures", "http", @@ -466,8 +466,8 @@ dependencies = [ [[package]] name = "icarus_models" -version = "0.8.0" -source = "git+ssh://git@git.kundeng.us/phoenix/icarus_models.git?tag=v0.8.0#860d684e7b340b05d43d1fc3e6bd36b7cc45d81b" +version = "0.8.3" +source = "git+ssh://git@git.kundeng.us/phoenix/icarus_models.git?tag=v0.8.3#0a27b8ccb1ac40361df8d3131f567f37f06cdc08" dependencies = [ "josekit", "rand", diff --git a/Cargo.toml b/Cargo.toml index 9c098c2..546106e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "icarus-dm" -version = "0.8.6" +version = "0.8.7" rust-version = "1.90" edition = "2024" @@ -14,4 +14,4 @@ serde_json = "1.0.145" tokio = { version = "1.47.1", features = ["full"] } tokio-util = { version = "0.7.16", features = ["codec"] } uuid = { version = "1.18.1", features = ["v4", "serde"] } -icarus_models = { git = "ssh://git@git.kundeng.us/phoenix/icarus_models.git", tag = "v0.8.0" } +icarus_models = { git = "ssh://git@git.kundeng.us/phoenix/icarus_models.git", tag = "v0.8.3" } diff --git a/src/managers/commit_manager.rs b/src/managers/commit_manager.rs index c0781d7..4e3decb 100644 --- a/src/managers/commit_manager.rs +++ b/src/managers/commit_manager.rs @@ -192,7 +192,7 @@ impl CommitManager { let api = prsr.retrieve_api(parsers::api_parser::APIType::Main); let mut dwn_loader = syncers::download::Download { api: api.clone() }; - let song = icarus_models::song::Song { + let mut song = icarus_models::song::Song { id: song_id, ..Default::default() }; @@ -200,12 +200,21 @@ impl CommitManager { match dwn_loader.download_song(&token, &song).await { Ok(o) => { println!("Success"); - let filename = String::from("audio") - + icarus_models::constants::file_extensions::audio::DEFAULTMUSICEXTENSION; - let data = o.as_bytes(); - let mut file = std::fs::File::create(filename).expect("Failed to save"); - file.write_all(data) - .expect("Failed to save downloaded song"); + + song.data = o.as_bytes().to_vec(); + song.directory = String::from("."); + song.filename = icarus_models::song::generate_filename( + icarus_models::types::MusicTypes::FlacExtension, + true, + ); + match song.save_to_filesystem() { + Ok(_) => { + println!("Song saved"); + } + Err(err) => { + eprintln!("Error saving song: {err:?}"); + } + } } Err(er) => { println!("Error {er:?}");