Skip renaming if destination exists

This commit is contained in:
Sayantan Santra 2022-12-09 15:00:00 -06:00
parent 29fd0c3646
commit 1309ed34b4
2 changed files with 12 additions and 3 deletions

View file

@ -2,7 +2,7 @@ use inquire::{
ui::{Color, IndexPrefix, RenderConfig, Styled},
Select,
};
use std::{collections::HashMap, fs, process::exit};
use std::{collections::HashMap, fs, path::Path, process::exit};
use tmdb::{model::*, themoviedb::*};
use torrent_name_parser::Metadata;
@ -117,7 +117,11 @@ pub fn process_file(
println!("[file] '{}' -> '{}'", file_base, new_name_with_ext);
// Only do the rename of --dry-run isn't passed
if dry_run == false {
fs::rename(filename, new_name.as_str()).expect("Unable to rename file!");
if Path::new(new_name.as_str()).is_file() == false {
fs::rename(filename, new_name.as_str()).expect("Unable to rename file!");
} else {
eprintln!("Destination file already exists, skipping...");
}
}
}
(new_name_base, is_subtitle)

View file

@ -82,7 +82,12 @@ fn main() {
} else {
println!("[directory] '{}' -> '{}'", entry_clean, movie_name);
if settings["dry_run"] == false {
fs::rename(entry, movie_name).expect("Unable to rename directory!");
if Path::new(movie_name.as_str()).is_dir() == false {
fs::rename(entry, movie_name)
.expect("Unable to rename directory!");
} else {
eprintln!("Destination directory already exists, skipping...");
}
}
}
} else {