From 666a9ce3c44ae40754fddbd35d022db2552c33ee Mon Sep 17 00:00:00 2001 From: yggverse Date: Fri, 20 Mar 2026 00:52:33 +0200 Subject: [PATCH] keep FoF/upload assets if `upload` path is unset (using external bash/rsync logic) --- src/main.rs | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/main.rs b/src/main.rs index 8e89bb3..104e483 100644 --- a/src/main.rs +++ b/src/main.rs @@ -12,7 +12,7 @@ use regex::{Captures, Regex}; use std::{ collections::{HashMap, HashSet}, env::var, - fs::{File, copy, create_dir_all, remove_dir_all}, + fs::{File, copy, create_dir_all, read_dir, remove_dir_all, remove_file}, io::Write, path::PathBuf, }; @@ -54,10 +54,17 @@ fn main() -> Result<()> { let config = Config::parse(); - if config.target.exists() { - remove_dir_all(&config.target)? + if !config.target.exists() { + create_dir_all(&config.target)?; + } + for entry in read_dir(&config.target)? { + let path = entry?.path(); + if path.is_file() { + remove_file(path)?; + } else if path.is_dir() && config.upload.is_some() { + remove_dir_all(path)?; + } } - create_dir_all(&config.target)?; let mut db = Database::connect(config.source)?;