From 318ce583eac1b059211f430b120ef9d8ffb1b490 Mon Sep 17 00:00:00 2001 From: Bill Thiede Date: Sat, 23 Jul 2022 21:33:36 -0700 Subject: [PATCH] Make root directory a flag. --- src/main.rs | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/src/main.rs b/src/main.rs index 7e7a010..4786d0c 100644 --- a/src/main.rs +++ b/src/main.rs @@ -179,6 +179,13 @@ enum Command { about = "Tool for pruning extra videos in collection" )] struct SuperDeduper { + #[structopt( + short = "r", + long = "root", + help = "Root directory to store files.", + default_value = MOVIE_DIR, + )] + root: String, #[structopt( short = "v", help = "Sets the level of verbosity", @@ -206,14 +213,14 @@ fn main() -> Result<(), Box> { match app.cmd { Command::Samples => { - let lib = MovieLibrary::new(MOVIE_DIR); + let lib = MovieLibrary::new(app.root); let videos = lib.videos()?; let samples_re = Regex::new(r"(?i).*sample.*").unwrap(); print_videos(&videos, Some(&samples_re)); } Command::Groups => { - let lib = MovieLibrary::new(MOVIE_DIR); + let lib = MovieLibrary::new(app.root); let videos = lib.videos()?; let mut video_groups: HashMap> = HashMap::new(); @@ -226,30 +233,30 @@ fn main() -> Result<(), Box> { print_video_groups(&video_groups); } Command::CompactMetadata => { - let lib = MovieLibrary::new(MOVIE_DIR); + let lib = MovieLibrary::new(app.root); lib.compact_metadata()?; } Command::PrintDupes => { - let lib = MovieLibrary::new(MOVIE_DIR); + let lib = MovieLibrary::new(app.root); print_dupes(&lib); } Command::PrintAll => { - let lib = MovieLibrary::new(MOVIE_DIR); + let lib = MovieLibrary::new(app.root); let videos = lib.videos()?; print_all(videos); } Command::UpdateMetadata => { - let lib = MovieLibrary::new(MOVIE_DIR); + let lib = MovieLibrary::new(app.root); lib.update_metadata()?; } Command::UpdateAndCompactMetadata => { - let lib = MovieLibrary::new(MOVIE_DIR); + let lib = MovieLibrary::new(app.root); lib.update_metadata()?; lib.compact_metadata()?; } Command::EmptyDirs => { - let lib = MovieLibrary::new(MOVIE_DIR); + let lib = MovieLibrary::new(app.root); let dirs = lib.empty_dirs()?; let root = Path::new(&lib.root); if !dirs.is_empty() {