At once
This commit is contained in:
parent
4a19e8b3c9
commit
bb3ffa4cc6
|
@ -104,19 +104,17 @@ impl EmptyFolder {
|
||||||
let excluded_items = self.common_data.excluded_items.clone();
|
let excluded_items = self.common_data.excluded_items.clone();
|
||||||
let directories = self.common_data.directories.clone();
|
let directories = self.common_data.directories.clone();
|
||||||
|
|
||||||
let mut folder_entries: HashMap<String, FolderEntry> = HashMap::new();
|
|
||||||
let mut non_empty_folders: Vec<String> = vec![];
|
let mut non_empty_folders: Vec<String> = vec![];
|
||||||
|
|
||||||
|
let mut start_folder_entries = Vec::with_capacity(folders_to_check.len());
|
||||||
|
let mut new_folder_entries_list = Vec::new();
|
||||||
for dir in &folders_to_check {
|
for dir in &folders_to_check {
|
||||||
folder_entries.insert(
|
start_folder_entries.push(FolderEntry {
|
||||||
dir.to_string_lossy().to_string(),
|
path: dir.clone(),
|
||||||
FolderEntry {
|
parent_path: None,
|
||||||
path: dir.clone(),
|
is_empty: FolderEmptiness::Maybe,
|
||||||
parent_path: None,
|
modified_date: 0,
|
||||||
is_empty: FolderEmptiness::Maybe,
|
});
|
||||||
modified_date: 0,
|
|
||||||
},
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
while !folders_to_check.is_empty() {
|
while !folders_to_check.is_empty() {
|
||||||
|
@ -187,9 +185,17 @@ impl EmptyFolder {
|
||||||
if let Some(non_empty_folder) = non_empty_folder {
|
if let Some(non_empty_folder) = non_empty_folder {
|
||||||
non_empty_folders.push(non_empty_folder);
|
non_empty_folders.push(non_empty_folder);
|
||||||
}
|
}
|
||||||
for (path, entry) in fe_list {
|
new_folder_entries_list.push(fe_list);
|
||||||
folder_entries.insert(path, entry);
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let mut folder_entries: HashMap<String, FolderEntry> = HashMap::with_capacity(start_folder_entries.len() + new_folder_entries_list.iter().map(|e| e.len()).sum::<usize>());
|
||||||
|
for fe in start_folder_entries {
|
||||||
|
folder_entries.insert(fe.path.to_string_lossy().to_string(), fe);
|
||||||
|
}
|
||||||
|
for fe_list in new_folder_entries_list {
|
||||||
|
for fe in fe_list {
|
||||||
|
folder_entries.insert(fe.path.to_string_lossy().to_string(), fe);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -239,7 +245,7 @@ impl EmptyFolder {
|
||||||
warnings: &mut Vec<String>,
|
warnings: &mut Vec<String>,
|
||||||
excluded_items: &ExcludedItems,
|
excluded_items: &ExcludedItems,
|
||||||
non_empty_folder: &mut Option<String>,
|
non_empty_folder: &mut Option<String>,
|
||||||
folder_entries_list: &mut Vec<(String, FolderEntry)>,
|
folder_entries_list: &mut Vec<FolderEntry>,
|
||||||
) {
|
) {
|
||||||
let next_folder = entry_data.path();
|
let next_folder = entry_data.path();
|
||||||
if excluded_items.is_excluded(&next_folder) || directories.is_excluded(&next_folder) {
|
if excluded_items.is_excluded(&next_folder) || directories.is_excluded(&next_folder) {
|
||||||
|
@ -266,15 +272,12 @@ impl EmptyFolder {
|
||||||
};
|
};
|
||||||
|
|
||||||
dir_result.push(next_folder.clone());
|
dir_result.push(next_folder.clone());
|
||||||
folder_entries_list.push((
|
folder_entries_list.push(FolderEntry {
|
||||||
next_folder.to_string_lossy().to_string(),
|
path: next_folder,
|
||||||
FolderEntry {
|
parent_path: Some(current_folder_as_str.to_string()),
|
||||||
path: next_folder,
|
is_empty: FolderEmptiness::Maybe,
|
||||||
parent_path: Some(current_folder_as_str.to_string()),
|
modified_date: get_modified_time(&metadata, warnings, current_folder, true),
|
||||||
is_empty: FolderEmptiness::Maybe,
|
});
|
||||||
modified_date: get_modified_time(&metadata, warnings, current_folder, true),
|
|
||||||
},
|
|
||||||
));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[fun_time(message = "delete_files", level = "debug")]
|
#[fun_time(message = "delete_files", level = "debug")]
|
||||||
|
|
Loading…
Reference in a new issue