diff --git a/src/database.rs b/src/database.rs index 9dafdbd..4713aa7 100644 --- a/src/database.rs +++ b/src/database.rs @@ -1,5 +1,5 @@ use anyhow::Result; -use crate::params::App; +use crate::params::Params; #[derive(Debug, Clone)] pub struct File { @@ -7,7 +7,7 @@ pub struct File { pub hash: String, } -pub fn get_connection(args: &App) -> Result { +pub fn get_connection(args: &Params) -> Result { let connection_url = match args.nocache { false => "/tmp/deduplicator.db", true => ":memory:" diff --git a/src/main.rs b/src/main.rs index eba7851..d5193da 100644 --- a/src/main.rs +++ b/src/main.rs @@ -8,7 +8,7 @@ use clap::Parser; #[tokio::main] async fn main() -> Result<()> { - let app_args = params::App::parse(); + let app_args = params::Params::parse(); let connection = database::get_connection(&app_args)?; let duplicates = scanner::duplicates(&app_args, &connection)?; diff --git a/src/output.rs b/src/output.rs index 7e0a221..6076077 100644 --- a/src/output.rs +++ b/src/output.rs @@ -4,9 +4,9 @@ use chrono::DateTime; use colored::Colorize; use humansize::{format_size, DECIMAL}; use std::{collections::HashMap, fs}; -use crate::params::App; +use crate::params::Params; -fn format_path(path: &String, opts: &App) -> String { +fn format_path(path: &String, opts: &Params) -> String { format!("...{}", path.replace(&opts.get_directory().unwrap(), "")) } @@ -27,7 +27,7 @@ fn print_divider() { println!("-------------------+-------------------------------------+------------------+----------------------------------+"); } -pub fn print(duplicates: Vec, opts: &App) { +pub fn print(duplicates: Vec, opts: &Params) { print_divider(); println!( "| {0: <16} | {1: <35} | {2: <16} | {3: <32} |", diff --git a/src/params.rs b/src/params.rs index 375b4a4..0148b9b 100644 --- a/src/params.rs +++ b/src/params.rs @@ -5,7 +5,7 @@ use std::fs; #[derive(Parser, Debug)] #[command(author, version, about, long_about = None)] -pub struct App { +pub struct Params { /// Filetypes to deduplicate (default = all) #[arg(short, long)] pub types: Option, @@ -17,7 +17,7 @@ pub struct App { pub nocache: bool, } -impl App { +impl Params { pub fn get_directory(&self) -> Result { let dir_string: String = self .dir diff --git a/src/scanner.rs b/src/scanner.rs index 2fcb29d..2301f43 100644 --- a/src/scanner.rs +++ b/src/scanner.rs @@ -1,5 +1,5 @@ use crate::database; -use crate::{params::App, database::File}; +use crate::{params::Params, database::File}; use anyhow::Result; use glob::glob; use itertools::Itertools; @@ -8,7 +8,7 @@ use std::fs; use std::path::PathBuf; use fxhash::hash32 as hasher; -pub fn duplicates(app_opts: &App, connection: &sqlite::Connection) -> Result> { +pub fn duplicates(app_opts: &Params, connection: &sqlite::Connection) -> Result> { let scan_results = scan(app_opts, connection)?; let base_path = app_opts.get_directory()?; @@ -16,7 +16,7 @@ pub fn duplicates(app_opts: &App, connection: &sqlite::Connection) -> Result Vec { +fn get_glob_patterns(opts: &Params, directory: &String) -> Vec { opts.types .clone() .unwrap_or(String::from("*")) @@ -37,7 +37,7 @@ fn is_indexed_file(path: &String, indexed: &Vec) -> bool { .contains(path) } -fn scan(app_opts: &App, connection: &sqlite::Connection) -> Result> { +fn scan(app_opts: &Params, connection: &sqlite::Connection) -> Result> { let directory = app_opts.get_directory()?; let glob_patterns: Vec = get_glob_patterns(&app_opts, &directory); let indexed_paths = database::indexed_paths(connection)?;