Code changes
This commit is contained in:
75
src/main.rs
75
src/main.rs
@@ -21,8 +21,14 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
|
|||||||
let song_queue_id = song_queue_item.data[0].id;
|
let song_queue_id = song_queue_item.data[0].id;
|
||||||
|
|
||||||
// TODO: Do something with the result later
|
// TODO: Do something with the result later
|
||||||
let _ = prep_song(&app_base_url, &song_queue_id).await;
|
// let _ = prep_song(&app_base_url, &song_queue_id).await;
|
||||||
let _ = some_work(&app_base_url, &song_queue_id).await;
|
match some_work(&app_base_url, &song_queue_id).await {
|
||||||
|
Ok(_) => {
|
||||||
|
}
|
||||||
|
Err(err) => {
|
||||||
|
eprintln!("Error: {:?}", err);
|
||||||
|
}
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
println!("Queue is empty");
|
println!("Queue is empty");
|
||||||
}
|
}
|
||||||
@@ -63,10 +69,17 @@ async fn is_queue_empty(
|
|||||||
async fn some_work(app_base_url: &String, song_queue_id: &uuid::Uuid) -> Result<(), std::io::Error> {
|
async fn some_work(app_base_url: &String, song_queue_id: &uuid::Uuid) -> Result<(), std::io::Error> {
|
||||||
match prep_song(app_base_url, song_queue_id).await {
|
match prep_song(app_base_url, song_queue_id).await {
|
||||||
Ok((song_queue_path, coverart_queue_path, metadata)) => {
|
Ok((song_queue_path, coverart_queue_path, metadata)) => {
|
||||||
match apply_metadata(song_queue_path.clone(), coverart_queue_path, metadata).await {
|
match apply_metadata(&song_queue_path, &coverart_queue_path, &metadata).await {
|
||||||
Ok(song_path) => {
|
Ok(_applied) => {
|
||||||
// let s_path = util::path_buf_to_string(&song_queue_path);
|
// let s_path = util::path_buf_to_string(&song_queue_path);
|
||||||
Ok(())
|
match update_queued_song::update_queued_song(app_base_url, &song_queue_path, song_queue_id).await {
|
||||||
|
Ok(_response) => {
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
Err(err) => {
|
||||||
|
Err(std::io::Error::new(std::io::ErrorKind::Other, err.to_string()))
|
||||||
|
}
|
||||||
|
}
|
||||||
// Ok((s_path))
|
// Ok((s_path))
|
||||||
}
|
}
|
||||||
Err(err) => {
|
Err(err) => {
|
||||||
@@ -81,19 +94,6 @@ async fn some_work(app_base_url: &String, song_queue_id: &uuid::Uuid) -> Result<
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
// let s_err: reqwest::Error = err.into();
|
|
||||||
// let error = reqwest::Error::new(
|
|
||||||
// reqwest::ErrorKind::Request, // Error kind
|
|
||||||
// err.to_string() // Error message
|
|
||||||
// );
|
|
||||||
// Err(error)
|
|
||||||
Err(err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
async fn prep_song(api_url: &String, song_queue_id: &uuid::Uuid) -> Result<(String, String, api::get_metadata_queue::response::Metadata), reqwest::Error> {
|
async fn prep_song(api_url: &String, song_queue_id: &uuid::Uuid) -> Result<(String, String, api::get_metadata_queue::response::Metadata), reqwest::Error> {
|
||||||
match api::fetch_song_queue_data::get_data(api_url, song_queue_id).await {
|
match api::fetch_song_queue_data::get_data(api_url, song_queue_id).await {
|
||||||
Ok(response) => {
|
Ok(response) => {
|
||||||
@@ -241,18 +241,11 @@ pub async fn save_file_to_fs(
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub async fn apply_metadata(
|
pub async fn apply_metadata(
|
||||||
song_queue_path: std::path::PathBuf,
|
song_queue_path: &String,
|
||||||
coverart_queue_path: std::path::PathBuf,
|
coverart_queue_path: &String,
|
||||||
metadata: &api::get_metadata_queue::response::Metadata,
|
metadata: &api::get_metadata_queue::response::Metadata,
|
||||||
) -> Result<bool, std::io::Error> {
|
) -> Result<bool, std::io::Error> {
|
||||||
// Apply metadata fields
|
// Apply metadata fields
|
||||||
let s_path = util::path_buf_to_string(&song_queue_path);
|
|
||||||
|
|
||||||
if s_path.is_empty() {
|
|
||||||
println!("Song queue path is empty");
|
|
||||||
return Ok(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
let types = icarus_meta::types::all_metadata_types();
|
let types = icarus_meta::types::all_metadata_types();
|
||||||
|
|
||||||
for t in types {
|
for t in types {
|
||||||
@@ -260,7 +253,7 @@ pub async fn apply_metadata(
|
|||||||
icarus_meta::types::Type::Album => {
|
icarus_meta::types::Type::Album => {
|
||||||
let meta_type =
|
let meta_type =
|
||||||
icarus_meta::types::MetadataType::from_string(metadata.album.clone());
|
icarus_meta::types::MetadataType::from_string(metadata.album.clone());
|
||||||
match icarus_meta::meta::metadata::set_meta_value(t, &s_path, meta_type) {
|
match icarus_meta::meta::metadata::set_meta_value(t, song_queue_path, meta_type) {
|
||||||
Ok(_) => {}
|
Ok(_) => {}
|
||||||
Err(_err) => {
|
Err(_err) => {
|
||||||
return Err(_err);
|
return Err(_err);
|
||||||
@@ -270,7 +263,7 @@ pub async fn apply_metadata(
|
|||||||
icarus_meta::types::Type::AlbumArtist => {
|
icarus_meta::types::Type::AlbumArtist => {
|
||||||
let meta_type =
|
let meta_type =
|
||||||
icarus_meta::types::MetadataType::from_string(metadata.album_artist.clone());
|
icarus_meta::types::MetadataType::from_string(metadata.album_artist.clone());
|
||||||
match icarus_meta::meta::metadata::set_meta_value(t, &s_path, meta_type) {
|
match icarus_meta::meta::metadata::set_meta_value(t, song_queue_path, meta_type) {
|
||||||
Ok(_) => {}
|
Ok(_) => {}
|
||||||
Err(_err) => {
|
Err(_err) => {
|
||||||
return Err(_err);
|
return Err(_err);
|
||||||
@@ -280,7 +273,7 @@ pub async fn apply_metadata(
|
|||||||
icarus_meta::types::Type::Artist => {
|
icarus_meta::types::Type::Artist => {
|
||||||
let meta_type =
|
let meta_type =
|
||||||
icarus_meta::types::MetadataType::from_string(metadata.artist.clone());
|
icarus_meta::types::MetadataType::from_string(metadata.artist.clone());
|
||||||
match icarus_meta::meta::metadata::set_meta_value(t, &s_path, meta_type) {
|
match icarus_meta::meta::metadata::set_meta_value(t, song_queue_path, meta_type) {
|
||||||
Ok(_) => {}
|
Ok(_) => {}
|
||||||
Err(_err) => {
|
Err(_err) => {
|
||||||
return Err(_err);
|
return Err(_err);
|
||||||
@@ -291,7 +284,7 @@ pub async fn apply_metadata(
|
|||||||
// TODO: Do something about this discrepancy
|
// TODO: Do something about this discrepancy
|
||||||
let meta_type =
|
let meta_type =
|
||||||
icarus_meta::types::MetadataType::from_string(metadata.year.to_string());
|
icarus_meta::types::MetadataType::from_string(metadata.year.to_string());
|
||||||
match icarus_meta::meta::metadata::set_meta_value(t, &s_path, meta_type) {
|
match icarus_meta::meta::metadata::set_meta_value(t, song_queue_path, meta_type) {
|
||||||
Ok(_) => {}
|
Ok(_) => {}
|
||||||
Err(_err) => {
|
Err(_err) => {
|
||||||
return Err(_err);
|
return Err(_err);
|
||||||
@@ -300,7 +293,7 @@ pub async fn apply_metadata(
|
|||||||
}
|
}
|
||||||
icarus_meta::types::Type::Disc => {
|
icarus_meta::types::Type::Disc => {
|
||||||
let meta_type = icarus_meta::types::MetadataType::from_int(metadata.disc);
|
let meta_type = icarus_meta::types::MetadataType::from_int(metadata.disc);
|
||||||
match icarus_meta::meta::metadata::set_meta_value(t, &s_path, meta_type) {
|
match icarus_meta::meta::metadata::set_meta_value(t, song_queue_path, meta_type) {
|
||||||
Ok(_) => {}
|
Ok(_) => {}
|
||||||
Err(_err) => {
|
Err(_err) => {
|
||||||
return Err(_err);
|
return Err(_err);
|
||||||
@@ -310,7 +303,7 @@ pub async fn apply_metadata(
|
|||||||
icarus_meta::types::Type::Genre => {
|
icarus_meta::types::Type::Genre => {
|
||||||
let meta_type =
|
let meta_type =
|
||||||
icarus_meta::types::MetadataType::from_string(metadata.genre.clone());
|
icarus_meta::types::MetadataType::from_string(metadata.genre.clone());
|
||||||
match icarus_meta::meta::metadata::set_meta_value(t, &s_path, meta_type) {
|
match icarus_meta::meta::metadata::set_meta_value(t, song_queue_path, meta_type) {
|
||||||
Ok(_) => {}
|
Ok(_) => {}
|
||||||
Err(_err) => {
|
Err(_err) => {
|
||||||
return Err(_err);
|
return Err(_err);
|
||||||
@@ -320,7 +313,7 @@ pub async fn apply_metadata(
|
|||||||
icarus_meta::types::Type::Title => {
|
icarus_meta::types::Type::Title => {
|
||||||
let meta_type =
|
let meta_type =
|
||||||
icarus_meta::types::MetadataType::from_string(metadata.title.clone());
|
icarus_meta::types::MetadataType::from_string(metadata.title.clone());
|
||||||
match icarus_meta::meta::metadata::set_meta_value(t, &s_path, meta_type) {
|
match icarus_meta::meta::metadata::set_meta_value(t, song_queue_path, meta_type) {
|
||||||
Ok(_) => {}
|
Ok(_) => {}
|
||||||
Err(_err) => {
|
Err(_err) => {
|
||||||
return Err(_err);
|
return Err(_err);
|
||||||
@@ -329,7 +322,7 @@ pub async fn apply_metadata(
|
|||||||
}
|
}
|
||||||
icarus_meta::types::Type::Track => {
|
icarus_meta::types::Type::Track => {
|
||||||
let meta_type = icarus_meta::types::MetadataType::from_int(metadata.track);
|
let meta_type = icarus_meta::types::MetadataType::from_int(metadata.track);
|
||||||
match icarus_meta::meta::metadata::set_meta_value(t, &s_path, meta_type) {
|
match icarus_meta::meta::metadata::set_meta_value(t, song_queue_path, meta_type) {
|
||||||
Ok(_) => {}
|
Ok(_) => {}
|
||||||
Err(_err) => {
|
Err(_err) => {
|
||||||
return Err(_err);
|
return Err(_err);
|
||||||
@@ -338,7 +331,7 @@ pub async fn apply_metadata(
|
|||||||
}
|
}
|
||||||
icarus_meta::types::Type::TrackCount => {
|
icarus_meta::types::Type::TrackCount => {
|
||||||
let meta_type = icarus_meta::types::MetadataType::from_int(metadata.track_count);
|
let meta_type = icarus_meta::types::MetadataType::from_int(metadata.track_count);
|
||||||
match icarus_meta::meta::metadata::set_meta_value(t, &s_path, meta_type) {
|
match icarus_meta::meta::metadata::set_meta_value(t, song_queue_path, meta_type) {
|
||||||
Ok(_) => {}
|
Ok(_) => {}
|
||||||
Err(_err) => {
|
Err(_err) => {
|
||||||
return Err(_err);
|
return Err(_err);
|
||||||
@@ -347,7 +340,7 @@ pub async fn apply_metadata(
|
|||||||
}
|
}
|
||||||
icarus_meta::types::Type::DiscCount => {
|
icarus_meta::types::Type::DiscCount => {
|
||||||
let meta_type = icarus_meta::types::MetadataType::from_int(metadata.disc_count);
|
let meta_type = icarus_meta::types::MetadataType::from_int(metadata.disc_count);
|
||||||
match icarus_meta::meta::metadata::set_meta_value(t, &s_path, meta_type) {
|
match icarus_meta::meta::metadata::set_meta_value(t, song_queue_path, meta_type) {
|
||||||
Ok(_) => {}
|
Ok(_) => {}
|
||||||
Err(_err) => {
|
Err(_err) => {
|
||||||
return Err(_err);
|
return Err(_err);
|
||||||
@@ -358,13 +351,11 @@ pub async fn apply_metadata(
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Apply coverart
|
// Apply coverart
|
||||||
let c_path: String = util::path_buf_to_string(&coverart_queue_path);
|
match icarus_meta::meta::coverart::contains_coverart(song_queue_path) {
|
||||||
|
|
||||||
match icarus_meta::meta::coverart::contains_coverart(&s_path) {
|
|
||||||
Ok((exists, size)) => {
|
Ok((exists, size)) => {
|
||||||
if exists {
|
if exists {
|
||||||
println!("Coverart exists: {:?} size", size);
|
println!("Coverart exists: {:?} size", size);
|
||||||
match icarus_meta::meta::coverart::remove_coverart(&s_path) {
|
match icarus_meta::meta::coverart::remove_coverart(song_queue_path) {
|
||||||
Ok(_data) => {}
|
Ok(_data) => {}
|
||||||
Err(err) => {
|
Err(err) => {
|
||||||
return Err(err);
|
return Err(err);
|
||||||
@@ -372,7 +363,7 @@ pub async fn apply_metadata(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
match icarus_meta::meta::coverart::set_coverart(&s_path, &c_path) {
|
match icarus_meta::meta::coverart::set_coverart(song_queue_path, coverart_queue_path) {
|
||||||
Ok(_data) => {
|
Ok(_data) => {
|
||||||
if _data.is_empty() {
|
if _data.is_empty() {
|
||||||
println!("There was an issue");
|
println!("There was an issue");
|
||||||
|
Reference in New Issue
Block a user