use std::{fs, path::Path};
use log::error;
use crate::error::{Result, UraniumError};
use crate::variables::constants::TEMP_DIR;
#[allow(dead_code)]
pub fn overrides(destination_path: &Path, overrides_folder: &str) -> Result<()> {
let options = fs_extra::dir::CopyOptions::new();
let overrides_folder = TEMP_DIR.to_owned() + overrides_folder;
let entries = match fs::read_dir(&overrides_folder) {
Ok(e) => e,
Err(error) => {
error!("Error reading overrides folder: {}", error);
return Err(UraniumError::IOError(error));
}
};
for file in entries.flatten() {
if file.file_type()?.is_dir() {
let _ = fs_extra::dir::copy(file.path(), destination_path, &options);
} else {
let _ = fs::copy(file.path(), destination_path.join(file.file_name()));
}
}
Ok(())
}