use log::error;
use log::info;
use log::trace;
use std::fs::File;
use std::io::BufWriter;
use std::io::Write;
pub async fn write_buf_to_file(
file_path: &str,
buf: &Vec<u8>,
overwrite: bool,
) -> bool {
if !overwrite && std::fs::metadata(&file_path).is_ok() {
error!(
"write_buf_to_file - file already exists: {file_path} \
not overwriting"
);
return false;
}
trace!("write_buf_to_file - creating {file_path}");
let mut file_buf_writer = BufWriter::new(File::create(file_path).unwrap());
file_buf_writer.write_all(buf).unwrap();
if std::fs::metadata(&file_path).is_err() {
error!("write_buf_to_file - failed to save file: {file_path}");
return false;
}
info!(
"write_buf_to_file - wrote {} bytes to {file_path}",
buf.len()
);
true
}