tsk-76: Improve getting path of Song or CoverArt (#81)
All checks were successful
Rust Build / Test Suite (push) Successful in 28s
Release Tagging / release (push) Successful in 36s
Rust Build / Check (push) Successful in 43s
Rust Build / Rustfmt (push) Successful in 24s
Rust Build / build (push) Successful in 26s
Rust Build / Clippy (push) Successful in 35s
All checks were successful
Rust Build / Test Suite (push) Successful in 28s
Release Tagging / release (push) Successful in 36s
Rust Build / Check (push) Successful in 43s
Rust Build / Rustfmt (push) Successful in 24s
Rust Build / build (push) Successful in 26s
Rust Build / Clippy (push) Successful in 35s
Closes #76 Reviewed-on: #81 Co-authored-by: phoenix <kundeng00@pm.me> Co-committed-by: phoenix <kundeng00@pm.me>
This commit was merged in pull request #81.
This commit is contained in:
24
src/song.rs
24
src/song.rs
@@ -69,28 +69,24 @@ impl Song {
|
||||
}
|
||||
}
|
||||
|
||||
/// Gets the path of a Song
|
||||
pub fn song_path(&self) -> Result<String, std::io::Error> {
|
||||
if self.directory.is_empty() {
|
||||
return Err(std::io::Error::other("Directory has not been initialized"));
|
||||
return Err(std::io::Error::other(
|
||||
crate::constants::error::DIRECTORY_NOT_INITIALIZED,
|
||||
));
|
||||
} else if self.filename.is_empty() {
|
||||
return Err(std::io::Error::other("Filename has not bee initialized"));
|
||||
return Err(std::io::Error::other(
|
||||
crate::constants::error::FILENAME_NOT_INITIALIZED,
|
||||
));
|
||||
}
|
||||
|
||||
let directory = &self.directory;
|
||||
let last_index = directory.len() - 1;
|
||||
|
||||
if let Some(character) = directory.chars().nth(last_index) {
|
||||
let buffer: String = if character != '/' {
|
||||
directory.clone() + "/"
|
||||
} else {
|
||||
directory.clone()
|
||||
};
|
||||
|
||||
Ok(buffer + &self.filename.clone())
|
||||
} else {
|
||||
Err(std::io::Error::other(
|
||||
"Could not access last character of directory",
|
||||
))
|
||||
match crate::util::concatenate_path(directory, &self.filename, last_index) {
|
||||
Ok(path) => Ok(path),
|
||||
Err(err) => Err(err),
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user