Moved function

This commit is contained in:
phoenix
2025-03-24 19:32:12 -04:00
parent fd9500d150
commit 58b167e5a1
2 changed files with 27 additions and 141 deletions
+17 -141
View File
@@ -8,7 +8,6 @@ use serde::{Deserialize, Serialize};
use tokio::runtime::Runtime; use tokio::runtime::Runtime;
use crate::managers; use crate::managers;
// use crate::models::song::Album;
use crate::models::{self}; use crate::models::{self};
use crate::parsers; use crate::parsers;
use crate::syncers; use crate::syncers;
@@ -29,10 +28,6 @@ enum ActionValues {
None, None,
} }
enum _RetrieveTypes {
Songs,
}
#[derive(Clone, Debug)] #[derive(Clone, Debug)]
enum En { enum En {
ImageFile, ImageFile,
@@ -121,15 +116,17 @@ impl CommitManager {
} }
fn map_actions(&self) -> HashMap<String, ActionValues> { fn map_actions(&self) -> HashMap<String, ActionValues> {
let mut actions: HashMap<String, ActionValues> = HashMap::new(); let actions: HashMap<String, ActionValues> = HashMap::from([
actions.insert("download".to_string(), ActionValues::DownloadAct); ("download".to_string(), ActionValues::DownloadAct),
actions.insert("upload".to_string(), ActionValues::UploadAct); ("download".to_string(), ActionValues::DownloadAct),
actions.insert( ("upload".to_string(), ActionValues::UploadAct),
"upload-meta".to_string(), (
ActionValues::UploadSongWithMetadata, "upload-meta".to_string(),
); ActionValues::UploadSongWithMetadata,
actions.insert("retrieve".to_string(), ActionValues::RetrieveAct); ),
actions.insert("delete".to_string(), ActionValues::DeleteAct); ("retrieve".to_string(), ActionValues::RetrieveAct),
("delete".to_string(), ActionValues::DeleteAct),
]);
return actions; return actions;
} }
@@ -235,8 +232,7 @@ impl CommitManager {
let mut repo = syncers::retrieve_records::RetrieveRecords { api: api.clone() }; let mut repo = syncers::retrieve_records::RetrieveRecords { api: api.clone() };
let result_fut = repo.get_all_songs(&token); let result_fut = repo.get_all_songs(&token);
let result = Runtime::new().unwrap().block_on(result_fut); match Runtime::new().unwrap().block_on(result_fut) {
match result {
Ok(o) => { Ok(o) => {
for song in o { for song in o {
println!("Title: {:?}", song.title); println!("Title: {:?}", song.title);
@@ -351,7 +347,7 @@ impl CommitManager {
match self.find_file_extension(&file_name) { match self.find_file_extension(&file_name) {
En::ImageFile => {} En::ImageFile => {}
En::MetadataFile => {} En::MetadataFile => {}
En::SongFile => match self.o_to_string(&file_name) { En::SongFile => match utilities::string::o_to_string(&file_name) {
Ok(s) => { Ok(s) => {
println!("file name: {:?}", file_name); println!("file name: {:?}", file_name);
filenames.push(s.clone()); filenames.push(s.clone());
@@ -406,23 +402,7 @@ impl CommitManager {
match icarus_models::album::collection::parse_album(metadata_path) { match icarus_models::album::collection::parse_album(metadata_path) {
Ok(albums) => { Ok(albums) => {
let mut songs: Vec<icarus_models::song::Song> = Vec::new(); let mut songs: Vec<icarus_models::song::Song> = Vec::new();
/*
for entry in read_dir(source_directory)? {
match entry {
Ok(dir_entry) => {
match self.find_file_extension(&dir_entry.file_name()) {
En::MetadataFile => {
}
_ => {
}
}
}
Err(_err) => {
// Err(err)
}
}
}
*/
for track in &albums.tracks { for track in &albums.tracks {
let filename = if track.track < 10 { let filename = if track.track < 10 {
"track0".to_owned() "track0".to_owned()
@@ -433,7 +413,6 @@ impl CommitManager {
+ &track.track.to_string() + &track.track.to_string()
+ icarus_models::constants::DEFAULTMUSICEXTENSION + icarus_models::constants::DEFAULTMUSICEXTENSION
}; };
// let mut song = icarus_models::song::Song::default();
songs.push(icarus_models::song::Song { songs.push(icarus_models::song::Song {
id: -1, id: -1,
@@ -458,10 +437,7 @@ impl CommitManager {
} }
Ok(songs) Ok(songs)
} }
Err(_) => { Err(_) => Ok(Vec::new()),
// Err()
Ok(Vec::new())
}
} }
} }
@@ -486,7 +462,6 @@ impl CommitManager {
path: String::new(), path: String::new(),
data: Vec::new(), data: Vec::new(),
}; };
// let mut songs: Vec<icarus_models::song::Song> = Vec::new();
let mut filenames: Vec<String> = Vec::new(); let mut filenames: Vec<String> = Vec::new();
let mut metadatapath: String = String::new(); let mut metadatapath: String = String::new();
@@ -505,34 +480,15 @@ impl CommitManager {
match self.find_file_extension(&file_name) { match self.find_file_extension(&file_name) {
En::ImageFile => { En::ImageFile => {
let directory_part = sourcepath.clone(); let directory_part = sourcepath.clone();
let fname = self.o_to_string(&file_name); let fname = utilities::string::o_to_string(&file_name);
let fullpath = directory_part + "/" + &fname.unwrap(); let fullpath = directory_part + "/" + &fname.unwrap();
cover_art.path = fullpath; cover_art.path = fullpath;
} }
En::MetadataFile => { En::MetadataFile => {
let directory_part = sourcepath.clone(); let directory_part = sourcepath.clone();
let fname = self.o_to_string(&file_name); let fname = utilities::string::o_to_string(&file_name);
metadatapath = directory_part + "/" + &fname.unwrap(); metadatapath = directory_part + "/" + &fname.unwrap();
} }
/*
En::SongFile => {
let mut song = icarus_models::song::Song::default();
let fname = self.o_to_string(&file_name);
match fname {
Ok(s) => {
filenames.push(s.clone());
song.filename = s.clone();
song.directory = sourcepath.clone();
song.data = song.to_data().unwrap();
self.initialize_disc_and_track(&mut song);
songs.push(song);
}
Err(er) => println!("Error: {:?}", er),
}
}
*/
_ => {} _ => {}
} }
} }
@@ -541,8 +497,6 @@ impl CommitManager {
let songs = self.get_songs(&metadatapath, &sourcepath); let songs = self.get_songs(&metadatapath, &sourcepath);
let album = self.retrieve_metadata(&metadatapath); let album = self.retrieve_metadata(&metadatapath);
// self.song_parsing(&mut album, &sourcepath, &filenames);
let mut up = syncers::upload::Upload::default(); let mut up = syncers::upload::Upload::default();
let host = self.ica_action.retrieve_flag_value(&String::from("-h")); let host = self.ica_action.retrieve_flag_value(&String::from("-h"));
up.set_api(&host); up.set_api(&host);
@@ -557,7 +511,6 @@ impl CommitManager {
println!("Title: {:?}", song.title); println!("Title: {:?}", song.title);
println!("Path: {:?}", song.song_path()); println!("Path: {:?}", song.song_path());
let res = up.upload_song_with_metadata(&token, &song, &cover_art, &album); let res = up.upload_song_with_metadata(&token, &song, &cover_art, &album);
// let tken =
match Runtime::new().unwrap().block_on(res) { match Runtime::new().unwrap().block_on(res) {
Ok(o) => { Ok(o) => {
println!("Response: {:?}", o); println!("Response: {:?}", o);
@@ -573,78 +526,9 @@ impl CommitManager {
} }
} }
/*
for track in &mut album.tracks {
match sng.to_data() {
Ok(data) => {
sng.data = data;
}
Err(err) => {
return Err(err);
}
};
}
for track in &album.tracks {
// Upload each song
println!("Sending song...");
// let song =
match retrieve_song(&album, track.track, 1, &sourcepath, filename) {
Ok(song) => {
let res = up.upload_song_with_metadata(&token, &song, &cover_art, &album);
let tken = Runtime::new().unwrap().block_on(res);
match &tken {
Ok(o) => {
println!("Successfully sent {:?}", o);
}
Err(er) => {
println!("Some error {:?}", er);
}
}
println!("");
}
Err(err) => {
println!("Error: {:?}", err);
}
}
}
*/
Ok(()) Ok(())
} }
// Makes sure the elements in album.songs is populated
/*
fn song_parsing(
&self,
album: &mut icarus_models::album::collection::Album,
directory: &String,
filenames: &Vec<String>,
) {
// Apply directory
for song in &mut album.tracks {
// let dir = &song.directory;
song.directory = directory.clone();
}
// Apply filename
let mut index = 0;
for song in &mut album.tracks {
let filename = filenames[index].clone();
song.filename = filename.clone();
index += 1;
}
for song in &mut album.tracks {
song.album = album.title.clone();
song.genre = album.genre.clone();
song.year = album.year.clone();
}
}
*/
fn find_file_extension(&self, file_name: &std::ffi::OsString) -> En { fn find_file_extension(&self, file_name: &std::ffi::OsString) -> En {
let file_name_str = Some(file_name.clone().into_string()); let file_name_str = Some(file_name.clone().into_string());
@@ -686,14 +570,6 @@ impl CommitManager {
return En::Other; return En::Other;
} }
fn o_to_string(&self, val: &std::ffi::OsString) -> Result<std::string::String> {
let res = val.clone().into_string();
return match res {
Ok(sss) => Ok(sss),
Err(_) => Ok(String::from("Error")),
};
}
// Standards // Standards
// * track01.cdda.wav - Disc 1, Track 1 // * track01.cdda.wav - Disc 1, Track 1
// * track02d02.cdda.wav - Disc 2, Track 2 // * track02d02.cdda.wav - Disc 2, Track 2
+10
View File
@@ -0,0 +1,10 @@
pub fn o_to_string(val: &std::ffi::OsString) -> Result<std::string::String, std::io::Error> {
match val.clone().into_string() {
Ok(value) => Ok(value),
Err(_) => Err(std::io::Error::new(
std::io::ErrorKind::Other,
String::from("Error"),
)),
}
}