Cleanup
This commit is contained in:
parent
fdffd1f5dd
commit
df6ec5cee1
14 changed files with 40 additions and 113 deletions
|
@ -15,7 +15,6 @@ use rayon::prelude::*;
|
||||||
|
|
||||||
use crate::common::{prepare_thread_handler_common, send_info_and_wait_for_ending_all_threads};
|
use crate::common::{prepare_thread_handler_common, send_info_and_wait_for_ending_all_threads};
|
||||||
use crate::common_dir_traversal::{CheckingMethod, DirTraversalBuilder, DirTraversalResult, FileEntry, ProgressData, ToolType};
|
use crate::common_dir_traversal::{CheckingMethod, DirTraversalBuilder, DirTraversalResult, FileEntry, ProgressData, ToolType};
|
||||||
|
|
||||||
use crate::common_tool::{CommonData, CommonToolData};
|
use crate::common_tool::{CommonData, CommonToolData};
|
||||||
use crate::common_traits::*;
|
use crate::common_traits::*;
|
||||||
|
|
||||||
|
@ -443,18 +442,7 @@ impl DebugPrint for BadExtensions {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
println!("---------------DEBUG PRINT---------------");
|
println!("---------------DEBUG PRINT---------------");
|
||||||
println!("### Information's");
|
self.debug_print_common();
|
||||||
|
|
||||||
println!("Errors size - {}", self.common_data.text_messages.errors.len());
|
|
||||||
println!("Warnings size - {}", self.common_data.text_messages.warnings.len());
|
|
||||||
println!("Messages size - {}", self.common_data.text_messages.messages.len());
|
|
||||||
|
|
||||||
println!("### Other");
|
|
||||||
|
|
||||||
println!("Excluded items - {:?}", self.common_data.excluded_items.items);
|
|
||||||
println!("Included directories - {:?}", self.common_data.directories.included_directories);
|
|
||||||
println!("Excluded directories - {:?}", self.common_data.directories.excluded_directories);
|
|
||||||
println!("Recursive search - {}", self.common_data.recursive_search);
|
|
||||||
println!("-----------------------------------------");
|
println!("-----------------------------------------");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,7 +3,6 @@ use std::fs;
|
||||||
use std::fs::{DirEntry, File, Metadata};
|
use std::fs::{DirEntry, File, Metadata};
|
||||||
use std::io::{BufWriter, Write};
|
use std::io::{BufWriter, Write};
|
||||||
use std::path::{Path, PathBuf};
|
use std::path::{Path, PathBuf};
|
||||||
|
|
||||||
use std::sync::atomic::{AtomicUsize, Ordering};
|
use std::sync::atomic::{AtomicUsize, Ordering};
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
|
|
||||||
|
@ -15,7 +14,6 @@ use rayon::prelude::*;
|
||||||
|
|
||||||
use crate::common::{check_folder_children, prepare_thread_handler_common, send_info_and_wait_for_ending_all_threads, split_path};
|
use crate::common::{check_folder_children, prepare_thread_handler_common, send_info_and_wait_for_ending_all_threads, split_path};
|
||||||
use crate::common_dir_traversal::{common_get_entry_data_metadata, common_read_dir, get_lowercase_name, get_modified_time, CheckingMethod, ProgressData, ToolType};
|
use crate::common_dir_traversal::{common_get_entry_data_metadata, common_read_dir, get_lowercase_name, get_modified_time, CheckingMethod, ProgressData, ToolType};
|
||||||
|
|
||||||
use crate::common_tool::{CommonData, CommonToolData};
|
use crate::common_tool::{CommonData, CommonToolData};
|
||||||
use crate::common_traits::{DebugPrint, PrintResults, SaveResults};
|
use crate::common_traits::{DebugPrint, PrintResults, SaveResults};
|
||||||
|
|
||||||
|
@ -292,6 +290,7 @@ impl DebugPrint for BigFile {
|
||||||
println!("### INDIVIDUAL DEBUG PRINT ###");
|
println!("### INDIVIDUAL DEBUG PRINT ###");
|
||||||
println!("Big files size {} in {} groups", self.information.number_of_real_files, self.big_files.len());
|
println!("Big files size {} in {} groups", self.information.number_of_real_files, self.big_files.len());
|
||||||
println!("Number of files to check - {:?}", self.number_of_files_to_check);
|
println!("Number of files to check - {:?}", self.number_of_files_to_check);
|
||||||
|
self.debug_print_common();
|
||||||
println!("-----------------------------------------");
|
println!("-----------------------------------------");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,7 +5,6 @@ use std::io::{BufReader, BufWriter};
|
||||||
use std::path::{Path, PathBuf};
|
use std::path::{Path, PathBuf};
|
||||||
use std::sync::atomic::{AtomicUsize, Ordering};
|
use std::sync::atomic::{AtomicUsize, Ordering};
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
|
|
||||||
use std::{fs, mem, panic};
|
use std::{fs, mem, panic};
|
||||||
|
|
||||||
use crossbeam_channel::Receiver;
|
use crossbeam_channel::Receiver;
|
||||||
|
@ -23,7 +22,6 @@ use crate::common::{
|
||||||
IMAGE_RS_BROKEN_FILES_EXTENSIONS, PDF_FILES_EXTENSIONS, ZIP_FILES_EXTENSIONS,
|
IMAGE_RS_BROKEN_FILES_EXTENSIONS, PDF_FILES_EXTENSIONS, ZIP_FILES_EXTENSIONS,
|
||||||
};
|
};
|
||||||
use crate::common_dir_traversal::{common_get_entry_data_metadata, common_read_dir, get_lowercase_name, get_modified_time, CheckingMethod, ProgressData, ToolType};
|
use crate::common_dir_traversal::{common_get_entry_data_metadata, common_read_dir, get_lowercase_name, get_modified_time, CheckingMethod, ProgressData, ToolType};
|
||||||
|
|
||||||
use crate::common_messages::Messages;
|
use crate::common_messages::Messages;
|
||||||
use crate::common_tool::{CommonData, CommonToolData};
|
use crate::common_tool::{CommonData, CommonToolData};
|
||||||
use crate::common_traits::*;
|
use crate::common_traits::*;
|
||||||
|
@ -489,21 +487,8 @@ impl DebugPrint for BrokenFiles {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
println!("---------------DEBUG PRINT---------------");
|
println!("---------------DEBUG PRINT---------------");
|
||||||
println!("### Information's");
|
|
||||||
|
|
||||||
println!("Errors size - {}", self.common_data.text_messages.errors.len());
|
|
||||||
println!("Warnings size - {}", self.common_data.text_messages.warnings.len());
|
|
||||||
println!("Messages size - {}", self.common_data.text_messages.messages.len());
|
|
||||||
|
|
||||||
println!("### Other");
|
|
||||||
|
|
||||||
println!("Excluded items - {:?}", self.common_data.excluded_items.items);
|
|
||||||
println!("Included directories - {:?}", self.common_data.directories.included_directories);
|
|
||||||
println!("Excluded directories - {:?}", self.common_data.directories.excluded_directories);
|
|
||||||
println!("Recursive search - {}", self.common_data.recursive_search);
|
|
||||||
#[cfg(target_family = "unix")]
|
|
||||||
println!("Skip other filesystems - {}", self.common_data.directories.exclude_other_filesystems());
|
|
||||||
println!("Delete Method - {:?}", self.delete_method);
|
println!("Delete Method - {:?}", self.delete_method);
|
||||||
|
self.debug_print_common();
|
||||||
println!("-----------------------------------------");
|
println!("-----------------------------------------");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -63,6 +63,7 @@ pub struct FileEntry {
|
||||||
pub hash: String,
|
pub hash: String,
|
||||||
pub symlink_info: Option<SymlinkInfo>,
|
pub symlink_info: Option<SymlinkInfo>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl ResultEntry for FileEntry {
|
impl ResultEntry for FileEntry {
|
||||||
fn get_path(&self) -> &Path {
|
fn get_path(&self) -> &Path {
|
||||||
&self.path
|
&self.path
|
||||||
|
@ -249,7 +250,6 @@ impl<'a, 'b, F> DirTraversalBuilder<'a, 'b, F> {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(target_family = "unix")]
|
#[cfg(target_family = "unix")]
|
||||||
|
|
||||||
pub fn exclude_other_filesystems(mut self, exclude_other_filesystems: bool) -> Self {
|
pub fn exclude_other_filesystems(mut self, exclude_other_filesystems: bool) -> Self {
|
||||||
match self.directories {
|
match self.directories {
|
||||||
Some(ref mut directories) => directories.set_exclude_other_filesystems(exclude_other_filesystems),
|
Some(ref mut directories) => directories.set_exclude_other_filesystems(exclude_other_filesystems),
|
||||||
|
|
|
@ -1,10 +1,8 @@
|
||||||
use std::path::{Path, PathBuf};
|
use std::path::{Path, PathBuf};
|
||||||
|
|
||||||
#[cfg(target_family = "unix")]
|
#[cfg(target_family = "unix")]
|
||||||
use std::{fs, os::unix::fs::MetadataExt};
|
use std::{fs, os::unix::fs::MetadataExt};
|
||||||
|
|
||||||
use crate::common::Common;
|
use crate::common::Common;
|
||||||
|
|
||||||
use crate::flc;
|
use crate::flc;
|
||||||
use crate::localizer_core::generate_translation_hashmap;
|
use crate::localizer_core::generate_translation_hashmap;
|
||||||
|
|
||||||
|
@ -332,7 +330,6 @@ impl Directories {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(target_family = "unix")]
|
#[cfg(target_family = "unix")]
|
||||||
|
|
||||||
pub fn exclude_other_filesystems(&self) -> bool {
|
pub fn exclude_other_filesystems(&self) -> bool {
|
||||||
self.exclude_other_filesystems.unwrap_or(false)
|
self.exclude_other_filesystems.unwrap_or(false)
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
|
use std::path::PathBuf;
|
||||||
|
|
||||||
use crate::common_dir_traversal::ToolType;
|
use crate::common_dir_traversal::ToolType;
|
||||||
use crate::common_directory::Directories;
|
use crate::common_directory::Directories;
|
||||||
use crate::common_extensions::Extensions;
|
use crate::common_extensions::Extensions;
|
||||||
use crate::common_items::ExcludedItems;
|
use crate::common_items::ExcludedItems;
|
||||||
use crate::common_messages::Messages;
|
use crate::common_messages::Messages;
|
||||||
use std::path::PathBuf;
|
|
||||||
|
|
||||||
#[derive(Debug, Clone, Default)]
|
#[derive(Debug, Clone, Default)]
|
||||||
pub struct CommonToolData {
|
pub struct CommonToolData {
|
||||||
|
|
|
@ -9,7 +9,6 @@ use std::io::{self, BufReader, BufWriter, Error, ErrorKind};
|
||||||
use std::os::unix::fs::MetadataExt;
|
use std::os::unix::fs::MetadataExt;
|
||||||
use std::path::{Path, PathBuf};
|
use std::path::{Path, PathBuf};
|
||||||
use std::sync::atomic::Ordering;
|
use std::sync::atomic::Ordering;
|
||||||
|
|
||||||
use std::{fs, mem};
|
use std::{fs, mem};
|
||||||
|
|
||||||
use crossbeam_channel::Receiver;
|
use crossbeam_channel::Receiver;
|
||||||
|
@ -21,7 +20,6 @@ use xxhash_rust::xxh3::Xxh3;
|
||||||
|
|
||||||
use crate::common::{open_cache_folder, prepare_thread_handler_common, send_info_and_wait_for_ending_all_threads};
|
use crate::common::{open_cache_folder, prepare_thread_handler_common, send_info_and_wait_for_ending_all_threads};
|
||||||
use crate::common_dir_traversal::{CheckingMethod, DirTraversalBuilder, DirTraversalResult, FileEntry, ProgressData, ToolType};
|
use crate::common_dir_traversal::{CheckingMethod, DirTraversalBuilder, DirTraversalResult, FileEntry, ProgressData, ToolType};
|
||||||
|
|
||||||
use crate::common_messages::Messages;
|
use crate::common_messages::Messages;
|
||||||
use crate::common_tool::{CommonData, CommonToolData};
|
use crate::common_tool::{CommonData, CommonToolData};
|
||||||
use crate::common_traits::*;
|
use crate::common_traits::*;
|
||||||
|
@ -80,14 +78,22 @@ impl Info {
|
||||||
pub struct DuplicateFinder {
|
pub struct DuplicateFinder {
|
||||||
common_data: CommonToolData,
|
common_data: CommonToolData,
|
||||||
information: Info,
|
information: Info,
|
||||||
files_with_identical_names: BTreeMap<String, Vec<FileEntry>>, // File Size, File Entry
|
files_with_identical_names: BTreeMap<String, Vec<FileEntry>>,
|
||||||
files_with_identical_size_names: BTreeMap<(u64, String), Vec<FileEntry>>, // File (Size, Name), File Entry
|
// File Size, File Entry
|
||||||
files_with_identical_size: BTreeMap<u64, Vec<FileEntry>>, // File Size, File Entry
|
files_with_identical_size_names: BTreeMap<(u64, String), Vec<FileEntry>>,
|
||||||
files_with_identical_hashes: BTreeMap<u64, Vec<Vec<FileEntry>>>, // File Size, next grouped by file size, next grouped by hash
|
// File (Size, Name), File Entry
|
||||||
files_with_identical_names_referenced: BTreeMap<String, (FileEntry, Vec<FileEntry>)>, // File Size, File Entry
|
files_with_identical_size: BTreeMap<u64, Vec<FileEntry>>,
|
||||||
files_with_identical_size_names_referenced: BTreeMap<(u64, String), (FileEntry, Vec<FileEntry>)>, // File (Size, Name), File Entry
|
// File Size, File Entry
|
||||||
files_with_identical_size_referenced: BTreeMap<u64, (FileEntry, Vec<FileEntry>)>, // File Size, File Entry
|
files_with_identical_hashes: BTreeMap<u64, Vec<Vec<FileEntry>>>,
|
||||||
files_with_identical_hashes_referenced: BTreeMap<u64, Vec<(FileEntry, Vec<FileEntry>)>>, // File Size, next grouped by file size, next grouped by hash
|
// File Size, next grouped by file size, next grouped by hash
|
||||||
|
files_with_identical_names_referenced: BTreeMap<String, (FileEntry, Vec<FileEntry>)>,
|
||||||
|
// File Size, File Entry
|
||||||
|
files_with_identical_size_names_referenced: BTreeMap<(u64, String), (FileEntry, Vec<FileEntry>)>,
|
||||||
|
// File (Size, Name), File Entry
|
||||||
|
files_with_identical_size_referenced: BTreeMap<u64, (FileEntry, Vec<FileEntry>)>,
|
||||||
|
// File Size, File Entry
|
||||||
|
files_with_identical_hashes_referenced: BTreeMap<u64, Vec<(FileEntry, Vec<FileEntry>)>>,
|
||||||
|
// File Size, next grouped by file size, next grouped by hash
|
||||||
check_method: CheckingMethod,
|
check_method: CheckingMethod,
|
||||||
delete_method: DeleteMethod,
|
delete_method: DeleteMethod,
|
||||||
hash_type: HashType,
|
hash_type: HashType,
|
||||||
|
@ -970,11 +976,6 @@ impl DebugPrint for DuplicateFinder {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
println!("---------------DEBUG PRINT---------------");
|
println!("---------------DEBUG PRINT---------------");
|
||||||
println!("### Information's");
|
|
||||||
|
|
||||||
println!("Errors size - {}", self.common_data.text_messages.errors.len());
|
|
||||||
println!("Warnings size - {}", self.common_data.text_messages.warnings.len());
|
|
||||||
println!("Messages size - {}", self.common_data.text_messages.messages.len());
|
|
||||||
println!(
|
println!(
|
||||||
"Number of duplicated files by size(in groups) - {} ({})",
|
"Number of duplicated files by size(in groups) - {} ({})",
|
||||||
self.information.number_of_duplicated_files_by_size, self.information.number_of_groups_by_size
|
self.information.number_of_duplicated_files_by_size, self.information.number_of_groups_by_size
|
||||||
|
@ -1002,15 +1003,9 @@ impl DebugPrint for DuplicateFinder {
|
||||||
|
|
||||||
println!("Files list size - {}", self.files_with_identical_size.len());
|
println!("Files list size - {}", self.files_with_identical_size.len());
|
||||||
println!("Hashed Files list size - {}", self.files_with_identical_hashes.len());
|
println!("Hashed Files list size - {}", self.files_with_identical_hashes.len());
|
||||||
println!("Excluded items - {:?}", self.common_data.excluded_items.items);
|
|
||||||
println!("Included directories - {:?}", self.common_data.directories.included_directories);
|
|
||||||
println!("Excluded directories - {:?}", self.common_data.directories.excluded_directories);
|
|
||||||
println!("Recursive search - {}", self.common_data.recursive_search);
|
|
||||||
#[cfg(target_family = "unix")]
|
|
||||||
println!("Skip other filesystems - {}", self.common_data.directories.exclude_other_filesystems());
|
|
||||||
println!("Minimum file size - {:?}", self.common_data.minimal_file_size);
|
|
||||||
println!("Checking Method - {:?}", self.check_method);
|
println!("Checking Method - {:?}", self.check_method);
|
||||||
println!("Delete Method - {:?}", self.delete_method);
|
println!("Delete Method - {:?}", self.delete_method);
|
||||||
|
self.debug_print_common();
|
||||||
println!("-----------------------------------------");
|
println!("-----------------------------------------");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,7 +8,6 @@ use futures::channel::mpsc::UnboundedSender;
|
||||||
use log::{debug, info};
|
use log::{debug, info};
|
||||||
|
|
||||||
use crate::common_dir_traversal::{DirTraversalBuilder, DirTraversalResult, FileEntry, ProgressData, ToolType};
|
use crate::common_dir_traversal::{DirTraversalBuilder, DirTraversalResult, FileEntry, ProgressData, ToolType};
|
||||||
|
|
||||||
use crate::common_tool::{CommonData, CommonToolData};
|
use crate::common_tool::{CommonData, CommonToolData};
|
||||||
use crate::common_traits::*;
|
use crate::common_traits::*;
|
||||||
|
|
||||||
|
@ -46,6 +45,7 @@ impl CommonData for EmptyFiles {
|
||||||
&mut self.common_data
|
&mut self.common_data
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl EmptyFiles {
|
impl EmptyFiles {
|
||||||
pub fn new() -> Self {
|
pub fn new() -> Self {
|
||||||
Self {
|
Self {
|
||||||
|
@ -149,22 +149,9 @@ impl DebugPrint for EmptyFiles {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
println!("---------------DEBUG PRINT---------------");
|
println!("---------------DEBUG PRINT---------------");
|
||||||
println!("### Information's");
|
|
||||||
|
|
||||||
println!("Errors size - {}", self.common_data.text_messages.errors.len());
|
|
||||||
println!("Warnings size - {}", self.common_data.text_messages.warnings.len());
|
|
||||||
println!("Messages size - {}", self.common_data.text_messages.messages.len());
|
|
||||||
|
|
||||||
println!("### Other");
|
|
||||||
|
|
||||||
println!("Empty list size - {}", self.empty_files.len());
|
println!("Empty list size - {}", self.empty_files.len());
|
||||||
println!("Excluded items - {:?}", self.common_data.excluded_items.items);
|
|
||||||
println!("Included directories - {:?}", self.common_data.directories.included_directories);
|
|
||||||
println!("Excluded directories - {:?}", self.common_data.directories.excluded_directories);
|
|
||||||
println!("Recursive search - {}", self.common_data.recursive_search);
|
|
||||||
#[cfg(target_family = "unix")]
|
|
||||||
println!("Skip other filesystems - {}", self.common_data.directories.exclude_other_filesystems());
|
|
||||||
println!("Delete Method - {:?}", self.delete_method);
|
println!("Delete Method - {:?}", self.delete_method);
|
||||||
|
self.debug_print_common();
|
||||||
println!("-----------------------------------------");
|
println!("-----------------------------------------");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,7 +9,6 @@ use futures::channel::mpsc::UnboundedSender;
|
||||||
use log::{debug, info};
|
use log::{debug, info};
|
||||||
|
|
||||||
use crate::common_dir_traversal::{Collect, DirTraversalBuilder, DirTraversalResult, FolderEmptiness, FolderEntry, ProgressData, ToolType};
|
use crate::common_dir_traversal::{Collect, DirTraversalBuilder, DirTraversalResult, FolderEmptiness, FolderEntry, ProgressData, ToolType};
|
||||||
|
|
||||||
use crate::common_tool::{CommonData, CommonToolData};
|
use crate::common_tool::{CommonData, CommonToolData};
|
||||||
use crate::common_traits::{DebugPrint, PrintResults, SaveResults};
|
use crate::common_traits::{DebugPrint, PrintResults, SaveResults};
|
||||||
|
|
||||||
|
@ -175,7 +174,7 @@ impl DebugPrint for EmptyFolder {
|
||||||
|
|
||||||
println!("---------------DEBUG PRINT---------------");
|
println!("---------------DEBUG PRINT---------------");
|
||||||
println!("Number of empty folders - {}", self.information.number_of_empty_folders);
|
println!("Number of empty folders - {}", self.information.number_of_empty_folders);
|
||||||
println!("Included directories - {:?}", self.common_data.directories.included_directories);
|
self.debug_print_common();
|
||||||
println!("-----------------------------------------");
|
println!("-----------------------------------------");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,7 +8,6 @@ use futures::channel::mpsc::UnboundedSender;
|
||||||
use log::{debug, info};
|
use log::{debug, info};
|
||||||
|
|
||||||
use crate::common_dir_traversal::{Collect, DirTraversalBuilder, DirTraversalResult, ErrorType, FileEntry, ProgressData, ToolType};
|
use crate::common_dir_traversal::{Collect, DirTraversalBuilder, DirTraversalResult, ErrorType, FileEntry, ProgressData, ToolType};
|
||||||
|
|
||||||
use crate::common_tool::{CommonData, CommonToolData};
|
use crate::common_tool::{CommonData, CommonToolData};
|
||||||
use crate::common_traits::*;
|
use crate::common_traits::*;
|
||||||
|
|
||||||
|
@ -145,22 +144,9 @@ impl DebugPrint for InvalidSymlinks {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
println!("---------------DEBUG PRINT---------------");
|
println!("---------------DEBUG PRINT---------------");
|
||||||
println!("### Information's");
|
|
||||||
|
|
||||||
println!("Errors size - {}", self.common_data.text_messages.errors.len());
|
|
||||||
println!("Warnings size - {}", self.common_data.text_messages.warnings.len());
|
|
||||||
println!("Messages size - {}", self.common_data.text_messages.messages.len());
|
|
||||||
|
|
||||||
println!("### Other");
|
|
||||||
|
|
||||||
println!("Invalid symlinks list size - {}", self.invalid_symlinks.len());
|
println!("Invalid symlinks list size - {}", self.invalid_symlinks.len());
|
||||||
println!("Excluded items - {:?}", self.common_data.excluded_items.items);
|
|
||||||
println!("Included directories - {:?}", self.common_data.directories.included_directories);
|
|
||||||
println!("Excluded directories - {:?}", self.common_data.directories.excluded_directories);
|
|
||||||
println!("Recursive search - {}", self.common_data.recursive_search);
|
|
||||||
#[cfg(target_family = "unix")]
|
|
||||||
println!("Skip other filesystems - {}", self.common_data.directories.exclude_other_filesystems());
|
|
||||||
println!("Delete Method - {:?}", self.delete_method);
|
println!("Delete Method - {:?}", self.delete_method);
|
||||||
|
self.debug_print_common();
|
||||||
println!("-----------------------------------------");
|
println!("-----------------------------------------");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,7 +27,6 @@ use crate::common::{
|
||||||
create_crash_message, filter_reference_folders_generic, open_cache_folder, prepare_thread_handler_common, send_info_and_wait_for_ending_all_threads, AUDIO_FILES_EXTENSIONS,
|
create_crash_message, filter_reference_folders_generic, open_cache_folder, prepare_thread_handler_common, send_info_and_wait_for_ending_all_threads, AUDIO_FILES_EXTENSIONS,
|
||||||
};
|
};
|
||||||
use crate::common_dir_traversal::{CheckingMethod, DirTraversalBuilder, DirTraversalResult, FileEntry, ProgressData, ToolType};
|
use crate::common_dir_traversal::{CheckingMethod, DirTraversalBuilder, DirTraversalResult, FileEntry, ProgressData, ToolType};
|
||||||
|
|
||||||
use crate::common_messages::Messages;
|
use crate::common_messages::Messages;
|
||||||
use crate::common_tool::{CommonData, CommonToolData};
|
use crate::common_tool::{CommonData, CommonToolData};
|
||||||
use crate::common_traits::*;
|
use crate::common_traits::*;
|
||||||
|
@ -859,7 +858,9 @@ fn calc_fingerprint_helper(path: impl AsRef<Path>, config: &Configuration) -> an
|
||||||
let mut sample_buf = None;
|
let mut sample_buf = None;
|
||||||
|
|
||||||
loop {
|
loop {
|
||||||
let Ok(packet) = format.next_packet() else { break };
|
let Ok(packet) = format.next_packet() else {
|
||||||
|
break;
|
||||||
|
};
|
||||||
|
|
||||||
if packet.track_id() != track_id {
|
if packet.track_id() != track_id {
|
||||||
continue;
|
continue;
|
||||||
|
@ -1007,24 +1008,10 @@ impl DebugPrint for SameMusic {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
println!("---------------DEBUG PRINT---------------");
|
println!("---------------DEBUG PRINT---------------");
|
||||||
println!("### Information's");
|
|
||||||
|
|
||||||
println!("Errors size - {}", self.common_data.text_messages.errors.len());
|
|
||||||
println!("Warnings size - {}", self.common_data.text_messages.warnings.len());
|
|
||||||
println!("Messages size - {}", self.common_data.text_messages.messages.len());
|
|
||||||
|
|
||||||
println!("### Other");
|
|
||||||
|
|
||||||
println!("Excluded items - {:?}", self.common_data.excluded_items.items);
|
|
||||||
println!("Minimum file size - {:?}", self.common_data.minimal_file_size);
|
|
||||||
println!("Found files music - {}", self.music_entries.len());
|
println!("Found files music - {}", self.music_entries.len());
|
||||||
println!("Found duplicated files music - {}", self.duplicated_music_entries.len());
|
println!("Found duplicated files music - {}", self.duplicated_music_entries.len());
|
||||||
println!("Included directories - {:?}", self.common_data.directories.included_directories);
|
|
||||||
println!("Excluded directories - {:?}", self.common_data.directories.excluded_directories);
|
|
||||||
println!("Recursive search - {}", self.common_data.recursive_search);
|
|
||||||
#[cfg(target_family = "unix")]
|
|
||||||
println!("Skip other filesystems - {}", self.common_data.directories.exclude_other_filesystems());
|
|
||||||
println!("Delete Method - {:?}", self.delete_method);
|
println!("Delete Method - {:?}", self.delete_method);
|
||||||
|
self.debug_print_common();
|
||||||
println!("-----------------------------------------");
|
println!("-----------------------------------------");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,7 +23,6 @@ use crate::common::{
|
||||||
HEIC_EXTENSIONS, IMAGE_RS_SIMILAR_IMAGES_EXTENSIONS, RAW_IMAGE_EXTENSIONS,
|
HEIC_EXTENSIONS, IMAGE_RS_SIMILAR_IMAGES_EXTENSIONS, RAW_IMAGE_EXTENSIONS,
|
||||||
};
|
};
|
||||||
use crate::common_dir_traversal::{common_get_entry_data_metadata, common_read_dir, get_lowercase_name, get_modified_time, CheckingMethod, ProgressData, ToolType};
|
use crate::common_dir_traversal::{common_get_entry_data_metadata, common_read_dir, get_lowercase_name, get_modified_time, CheckingMethod, ProgressData, ToolType};
|
||||||
|
|
||||||
use crate::common_messages::Messages;
|
use crate::common_messages::Messages;
|
||||||
use crate::common_tool::{CommonData, CommonToolData};
|
use crate::common_tool::{CommonData, CommonToolData};
|
||||||
use crate::common_traits::{DebugPrint, PrintResults, ResultEntry, SaveResults};
|
use crate::common_traits::{DebugPrint, PrintResults, ResultEntry, SaveResults};
|
||||||
|
@ -47,6 +46,7 @@ pub struct FileEntry {
|
||||||
pub hash: ImHash,
|
pub hash: ImHash,
|
||||||
pub similarity: u32,
|
pub similarity: u32,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl ResultEntry for FileEntry {
|
impl ResultEntry for FileEntry {
|
||||||
fn get_path(&self) -> &Path {
|
fn get_path(&self) -> &Path {
|
||||||
&self.path
|
&self.path
|
||||||
|
@ -916,7 +916,7 @@ impl DebugPrint for SimilarImages {
|
||||||
}
|
}
|
||||||
|
|
||||||
println!("---------------DEBUG PRINT---------------");
|
println!("---------------DEBUG PRINT---------------");
|
||||||
println!("Included directories - {:?}", self.common_data.directories.included_directories);
|
self.debug_print_common();
|
||||||
println!("-----------------------------------------");
|
println!("-----------------------------------------");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1262,10 +1262,11 @@ fn debug_check_for_duplicated_things(
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use bk_tree::BKTree;
|
|
||||||
use std::collections::HashMap;
|
use std::collections::HashMap;
|
||||||
use std::path::PathBuf;
|
use std::path::PathBuf;
|
||||||
|
|
||||||
|
use bk_tree::BKTree;
|
||||||
|
|
||||||
use crate::common_directory::Directories;
|
use crate::common_directory::Directories;
|
||||||
use crate::common_tool::CommonToolData;
|
use crate::common_tool::CommonToolData;
|
||||||
use crate::similar_images::{FileEntry, Hamming, ImHash, SimilarImages};
|
use crate::similar_images::{FileEntry, Hamming, ImHash, SimilarImages};
|
||||||
|
@ -1517,6 +1518,7 @@ mod tests {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_reference_similarity_only_one() {
|
fn test_reference_similarity_only_one() {
|
||||||
for _ in 0..100 {
|
for _ in 0..100 {
|
||||||
|
@ -1546,6 +1548,7 @@ mod tests {
|
||||||
assert_eq!(res[0].1[0].path, PathBuf::from("/home/kk/bcd.txt"));
|
assert_eq!(res[0].1[0].path, PathBuf::from("/home/kk/bcd.txt"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_reference_too_small_similarity() {
|
fn test_reference_too_small_similarity() {
|
||||||
for _ in 0..100 {
|
for _ in 0..100 {
|
||||||
|
|
|
@ -17,7 +17,6 @@ use vid_dup_finder_lib::{NormalizedTolerance, VideoHash};
|
||||||
|
|
||||||
use crate::common::{check_folder_children, open_cache_folder, prepare_thread_handler_common, send_info_and_wait_for_ending_all_threads, VIDEO_FILES_EXTENSIONS};
|
use crate::common::{check_folder_children, open_cache_folder, prepare_thread_handler_common, send_info_and_wait_for_ending_all_threads, VIDEO_FILES_EXTENSIONS};
|
||||||
use crate::common_dir_traversal::{common_get_entry_data_metadata, common_read_dir, get_lowercase_name, get_modified_time, CheckingMethod, ProgressData, ToolType};
|
use crate::common_dir_traversal::{common_get_entry_data_metadata, common_read_dir, get_lowercase_name, get_modified_time, CheckingMethod, ProgressData, ToolType};
|
||||||
|
|
||||||
use crate::common_messages::Messages;
|
use crate::common_messages::Messages;
|
||||||
use crate::common_tool::{CommonData, CommonToolData};
|
use crate::common_tool::{CommonData, CommonToolData};
|
||||||
use crate::common_traits::{DebugPrint, PrintResults, ResultEntry, SaveResults};
|
use crate::common_traits::{DebugPrint, PrintResults, ResultEntry, SaveResults};
|
||||||
|
@ -34,6 +33,7 @@ pub struct FileEntry {
|
||||||
pub vhash: VideoHash,
|
pub vhash: VideoHash,
|
||||||
pub error: String,
|
pub error: String,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl ResultEntry for FileEntry {
|
impl ResultEntry for FileEntry {
|
||||||
fn get_path(&self) -> &Path {
|
fn get_path(&self) -> &Path {
|
||||||
&self.path
|
&self.path
|
||||||
|
@ -480,6 +480,7 @@ impl DebugPrint for SimilarVideos {
|
||||||
|
|
||||||
println!("---------------DEBUG PRINT---------------");
|
println!("---------------DEBUG PRINT---------------");
|
||||||
println!("Included directories - {:?}", self.common_data.directories.included_directories);
|
println!("Included directories - {:?}", self.common_data.directories.included_directories);
|
||||||
|
self.debug_print_common();
|
||||||
println!("-----------------------------------------");
|
println!("-----------------------------------------");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,7 +13,6 @@ use rayon::prelude::*;
|
||||||
|
|
||||||
use crate::common::{check_folder_children, prepare_thread_handler_common, send_info_and_wait_for_ending_all_threads};
|
use crate::common::{check_folder_children, prepare_thread_handler_common, send_info_and_wait_for_ending_all_threads};
|
||||||
use crate::common_dir_traversal::{common_get_entry_data_metadata, common_read_dir, get_lowercase_name, get_modified_time, CheckingMethod, ProgressData, ToolType};
|
use crate::common_dir_traversal::{common_get_entry_data_metadata, common_read_dir, get_lowercase_name, get_modified_time, CheckingMethod, ProgressData, ToolType};
|
||||||
|
|
||||||
use crate::common_tool::{CommonData, CommonToolData};
|
use crate::common_tool::{CommonData, CommonToolData};
|
||||||
use crate::common_traits::*;
|
use crate::common_traits::*;
|
||||||
|
|
||||||
|
@ -247,7 +246,7 @@ impl DebugPrint for Temporary {
|
||||||
println!("### Information's");
|
println!("### Information's");
|
||||||
println!("Temporary list size - {}", self.temporary_files.len());
|
println!("Temporary list size - {}", self.temporary_files.len());
|
||||||
println!("Delete Method - {:?}", self.delete_method);
|
println!("Delete Method - {:?}", self.delete_method);
|
||||||
self.print_results();
|
self.debug_print_common();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue