Meta single upload is functional

This commit is contained in:
phoenix
2025-03-23 21:40:52 -04:00
parent 97e5848815
commit dc2f73789a
2 changed files with 34 additions and 10 deletions
+13 -5
View File
@@ -363,6 +363,8 @@ impl CommitManager {
let api = prsr.retrieve_api(); let api = prsr.retrieve_api();
let token = self.parse_token(&api); let token = self.parse_token(&api);
println!("Token: {:?}", token.token);
let song_file = std::path::Path::new(&songpath); let song_file = std::path::Path::new(&songpath);
if !song_file.exists() { if !song_file.exists() {
@@ -412,7 +414,10 @@ impl CommitManager {
let album = self.retrieve_metadata(&meta_path); let album = self.retrieve_metadata(&meta_path);
let trck = i32::from_str(track_id).unwrap(); 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.filename = fp;
// s.directory = dir; // s.directory = dir;
// s.genre = album.genre.clone(); // s.genre = album.genre.clone();
@@ -432,13 +437,16 @@ impl CommitManager {
match &tken { match &tken {
Ok(o) => { Ok(o) => {
println!("Successfully sent {:?}", o); println!("Successfully sent {:?}", o);
Ok(())
} }
Err(er) => { Err(er) => {
println!("Some error {:?}", er); println!("Some error {:?}", er);
Err(std::io::Error::new(
std::io::ErrorKind::Other,
er.to_string(),
))
} }
} }
Ok(())
} }
fn get_songs( fn get_songs(
@@ -447,8 +455,8 @@ impl CommitManager {
source_directory: &String, source_directory: &String,
) -> Result<Vec<icarus_models::song::Song>> { ) -> Result<Vec<icarus_models::song::Song>> {
match icarus_models::album::collection::parse_album(metadata_path) { match icarus_models::album::collection::parse_album(metadata_path) {
Ok(albums) => { Ok(_albums) => {
for entry in read_dir(source_directory)? {} for _entry in read_dir(source_directory)? {}
Ok(Vec::new()) Ok(Vec::new())
} }
+21 -5
View File
@@ -4,6 +4,7 @@ use http::HeaderMap;
use http::HeaderValue; use http::HeaderValue;
use reqwest; use reqwest;
use reqwest::multipart::Form; use reqwest::multipart::Form;
// use reqwest::Response;
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
use crate::models; use crate::models;
@@ -50,10 +51,11 @@ impl Upload {
song: &icarus_models::song::Song, song: &icarus_models::song::Song,
cover: &icarus_models::coverart::CoverArt, cover: &icarus_models::coverart::CoverArt,
album: &icarus_models::album::collection::Album, album: &icarus_models::album::collection::Album,
) -> Result<reqwest::Response, std::io::Error> { ) -> Result<reqwest::Response, reqwest::Error> {
self.api.endpoint = String::from("song/data/upload/with/data"); self.api.endpoint = String::from("song/data/upload/with/data");
let url = self.retrieve_url(); 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() { match song.song_path() {
Ok(p) => { Ok(p) => {
new_song.songpath = p; new_song.songpath = p;
@@ -68,6 +70,7 @@ impl Upload {
return Err(er); return Err(er);
} }
} }
*/
let access_token = token.bearer_token(); let access_token = token.bearer_token();
if url.is_empty() { if url.is_empty() {
@@ -76,6 +79,7 @@ impl Upload {
println!("Url: {}", url); println!("Url: {}", url);
println!("Token: {}", access_token); println!("Token: {}", access_token);
println!("Path: {:?}", new_song.songpath);
let mut headers = reqwest::header::HeaderMap::new(); let mut headers = reqwest::header::HeaderMap::new();
headers.insert( headers.insert(
@@ -92,12 +96,23 @@ impl Upload {
.multipart(form) .multipart(form)
.send() .send()
.await; .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!("Something was sent");
println!("{:?}", response_text); println!("{:?}", response_text);
return Ok(response_text); return Ok(response_text);
*/
} }
fn _initialize_form( fn _initialize_form(
@@ -139,12 +154,13 @@ impl Upload {
) -> reqwest::multipart::Form { ) -> reqwest::multipart::Form {
let songpath = song.songpath.clone(); let songpath = song.songpath.clone();
let coverpath = cover.path.clone(); let coverpath = cover.path.clone();
println!("Cover path: {:?}", coverpath);
let song_detail = song.to_metadata_json().unwrap(); let song_detail = song.to_metadata_json().unwrap();
println!("\n{}\n", song_detail); println!("\n{}\n", song_detail);
let mut song_filename = String::from("audio"); 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"); let mut cover_filename = String::from("cover");
cover_filename += icarus_models::constants::JPGEXTENSION; cover_filename += icarus_models::constants::JPGEXTENSION;
@@ -210,7 +226,7 @@ impl Upload {
track_count: album.track_count.clone(), track_count: album.track_count.clone(),
disc: song.disc.clone(), disc: song.disc.clone(),
disc_count: album.disc_count.clone(), disc_count: album.disc_count.clone(),
songpath: String::new(), songpath: song.directory.clone() + "/" + &song.filename.clone(),
}; };
} }
} }