Song to_data change (#62)
All checks were successful
Rust Build / Check (pull_request) Successful in 35s
Release Tagging / release (pull_request) Successful in 43s
Rust Build / Test Suite (pull_request) Successful in 46s
Rust Build / Rustfmt (pull_request) Successful in 33s
Rust Build / build (pull_request) Successful in 33s
Rust Build / Clippy (pull_request) Successful in 50s
All checks were successful
Rust Build / Check (pull_request) Successful in 35s
Release Tagging / release (pull_request) Successful in 43s
Rust Build / Test Suite (pull_request) Successful in 46s
Rust Build / Rustfmt (pull_request) Successful in 33s
Rust Build / build (pull_request) Successful in 33s
Rust Build / Clippy (pull_request) Successful in 50s
Reviewed-on: #62 Co-authored-by: phoenix <kundeng00@pm.me> Co-committed-by: phoenix <kundeng00@pm.me>
This commit is contained in:
42
src/song.rs
42
src/song.rs
@@ -1,4 +1,4 @@
|
||||
use std::io::{Read, Write};
|
||||
use std::io::Write;
|
||||
|
||||
use rand::Rng;
|
||||
use serde::{Deserialize, Serialize};
|
||||
@@ -90,26 +90,6 @@ impl Song {
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: Make this available as a function
|
||||
pub fn to_data(&self) -> Result<Vec<u8>, std::io::Error> {
|
||||
let path_result = self.song_path();
|
||||
|
||||
match path_result {
|
||||
Ok(path) => {
|
||||
let mut file = std::fs::File::open(path)?;
|
||||
let mut buffer: Vec<u8> = Vec::new();
|
||||
file.read_to_end(&mut buffer)?;
|
||||
|
||||
if buffer.is_empty() {
|
||||
Err(std::io::Error::other("File is empty"))
|
||||
} else {
|
||||
Ok(buffer)
|
||||
}
|
||||
}
|
||||
Err(er) => Err(er),
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: Make this available as a function
|
||||
pub fn generate_filename(&self, typ: types::MusicTypes, randomize: bool) -> String {
|
||||
let mut filename: String = String::new();
|
||||
@@ -172,6 +152,8 @@ impl Song {
|
||||
|
||||
/// I/O operations for songs
|
||||
pub mod io {
|
||||
use std::io::Read;
|
||||
|
||||
/// Copies a song using the source song's data
|
||||
pub fn copy_song(
|
||||
song_source: &super::Song,
|
||||
@@ -201,4 +183,22 @@ pub mod io {
|
||||
Err(err) => Err(err),
|
||||
}
|
||||
}
|
||||
|
||||
/// Gets the raw file data of a song from the filesystem
|
||||
pub fn to_data(song: &super::Song) -> Result<Vec<u8>, std::io::Error> {
|
||||
match song.song_path() {
|
||||
Ok(path) => {
|
||||
let mut file = std::fs::File::open(path)?;
|
||||
let mut buffer: Vec<u8> = Vec::new();
|
||||
file.read_to_end(&mut buffer)?;
|
||||
|
||||
if buffer.is_empty() {
|
||||
Err(std::io::Error::other("File is empty"))
|
||||
} else {
|
||||
Ok(buffer)
|
||||
}
|
||||
}
|
||||
Err(er) => Err(er),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user