From dc2f73789afaa6721c89336f2fc9c1f08e035ed1 Mon Sep 17 00:00:00 2001 From: phoenix Date: Sun, 23 Mar 2025 21:40:52 -0400 Subject: [PATCH] Meta single upload is functional --- src/managers/commit_manager.rs | 18 +++++++++++++----- src/syncers/upload.rs | 26 +++++++++++++++++++++----- 2 files changed, 34 insertions(+), 10 deletions(-) diff --git a/src/managers/commit_manager.rs b/src/managers/commit_manager.rs index c1ca105..b02ce01 100644 --- a/src/managers/commit_manager.rs +++ b/src/managers/commit_manager.rs @@ -363,6 +363,8 @@ impl CommitManager { let api = prsr.retrieve_api(); let token = self.parse_token(&api); + println!("Token: {:?}", token.token); + let song_file = std::path::Path::new(&songpath); if !song_file.exists() { @@ -412,7 +414,10 @@ impl CommitManager { let album = self.retrieve_metadata(&meta_path); let trck = i32::from_str(track_id).unwrap(); - let mut s = retrieve_song(&album, trck, 1, &fp, &dir).unwrap(); + let mut s = retrieve_song(&album, trck, 1, &&dir, &fp).unwrap(); + println!("Directory: {:?}", s.directory); + println!("Filename: {:?}", s.filename); + println!("Path: {:?}", s.song_path()); // s.filename = fp; // s.directory = dir; // s.genre = album.genre.clone(); @@ -432,13 +437,16 @@ impl CommitManager { match &tken { Ok(o) => { println!("Successfully sent {:?}", o); + Ok(()) } Err(er) => { println!("Some error {:?}", er); + Err(std::io::Error::new( + std::io::ErrorKind::Other, + er.to_string(), + )) } } - - Ok(()) } fn get_songs( @@ -447,8 +455,8 @@ impl CommitManager { source_directory: &String, ) -> Result> { match icarus_models::album::collection::parse_album(metadata_path) { - Ok(albums) => { - for entry in read_dir(source_directory)? {} + Ok(_albums) => { + for _entry in read_dir(source_directory)? {} Ok(Vec::new()) } diff --git a/src/syncers/upload.rs b/src/syncers/upload.rs index f15e463..7c7ccf9 100644 --- a/src/syncers/upload.rs +++ b/src/syncers/upload.rs @@ -4,6 +4,7 @@ use http::HeaderMap; use http::HeaderValue; use reqwest; use reqwest::multipart::Form; +// use reqwest::Response; use serde::{Deserialize, Serialize}; use crate::models; @@ -50,10 +51,11 @@ impl Upload { song: &icarus_models::song::Song, cover: &icarus_models::coverart::CoverArt, album: &icarus_models::album::collection::Album, - ) -> Result { + ) -> Result { self.api.endpoint = String::from("song/data/upload/with/data"); let url = self.retrieve_url(); - let mut new_song = self.initialize_song(&song, &album); + let new_song = self.initialize_song(&song, &album); + /* match song.song_path() { Ok(p) => { new_song.songpath = p; @@ -68,6 +70,7 @@ impl Upload { return Err(er); } } + */ let access_token = token.bearer_token(); if url.is_empty() { @@ -76,6 +79,7 @@ impl Upload { println!("Url: {}", url); println!("Token: {}", access_token); + println!("Path: {:?}", new_song.songpath); let mut headers = reqwest::header::HeaderMap::new(); headers.insert( @@ -92,12 +96,23 @@ impl Upload { .multipart(form) .send() .await; - let response_text = response.unwrap(); + // let response_text = response.unwrap(); + match response { + Ok(r) => { + return Ok(r); + } + Err(err) => { + return Err(err); + } + } + + /* println!("Something was sent"); println!("{:?}", response_text); return Ok(response_text); + */ } fn _initialize_form( @@ -139,12 +154,13 @@ impl Upload { ) -> reqwest::multipart::Form { let songpath = song.songpath.clone(); let coverpath = cover.path.clone(); + println!("Cover path: {:?}", coverpath); let song_detail = song.to_metadata_json().unwrap(); println!("\n{}\n", song_detail); let mut song_filename = String::from("audio"); - song_filename += icarus_models::constants::WAVEXTENSION; + song_filename += icarus_models::constants::DEFAULTMUSICEXTENSION; let mut cover_filename = String::from("cover"); cover_filename += icarus_models::constants::JPGEXTENSION; @@ -210,7 +226,7 @@ impl Upload { track_count: album.track_count.clone(), disc: song.disc.clone(), disc_count: album.disc_count.clone(), - songpath: String::new(), + songpath: song.directory.clone() + "/" + &song.filename.clone(), }; } }