1use std::fs;
2use std::path::PathBuf;
3use crate::error::Error;
4
5pub fn get_folder_filename_list(folder_name: &str) -> Vec<String> {
6 let paths: fs::ReadDir = fs::read_dir(folder_name).unwrap();
7 let mut file_name_list: Vec<String> = Vec::new();
8
9 for path in paths {
10 file_name_list.push(path.unwrap().path().display().to_string());
11 }
12
13 return file_name_list
14}
15
16pub fn create(path: &String) -> Result<(), Error> {
17 fs::create_dir_all(path)?;
18 Ok(())
19}
20
21pub fn remove_if_exists(path: &String) -> Result<(), Error> {
22 if exists(path)? {
23 fs::remove_dir_all(path)?;
24 }
25
26 Ok(())
27}
28
29pub fn exists(path: &String) -> Result<bool, Error> {
30 let path_buf: PathBuf = PathBuf::from(path);
31 return Ok(path_buf.exists());
32}
33
34#[cfg(test)]
35#[path = "../tests/unit_tests/folder.rs"]
36pub mod test;