From 07ba946d1b1d4584dc285da328581ae771a77fd0 Mon Sep 17 00:00:00 2001 From: woni <320753691@qq.com> Date: Tue, 5 Sep 2023 21:06:56 +0800 Subject: [PATCH] modify log path --- src/main.rs | 34 ++++++++++++++++++++++++++-------- 1 file changed, 26 insertions(+), 8 deletions(-) diff --git a/src/main.rs b/src/main.rs index 84fae92..fef9f68 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,15 +1,35 @@ +use csv; use sqlite; use std::env; use std::fs::File; use std::path::Path; fn main() { + let mut db_list = Vec::new(); + let local_app_data_path = env::var("LOCALAPPDATA").unwrap(); + // let assistant_db_path = Path::new(&local_app_data_path) + // .join("ShadowBot") + // .join("users") + // .join("assistant") + // .join("assistant.db3"); + + // if assistant_db_path.exists() { + // db_list.push(&assistant_db_path) + // } + let db_path = Path::new(&local_app_data_path) .join("ShadowBot") .join("users") .join("assistant") - .join("assistant.db3"); + .join("db"); + let paths = std::fs::read_dir(db_path).unwrap(); + let db_files = paths + .filter_map(Result::ok) + .filter(|entry| entry.path().is_file()) + .map(|entry| entry.path()) + .collect::>(); + db_list.extend(&db_files); let download_path = Path::new(&env::var("USERPROFILE").unwrap()).join("Downloads"); @@ -17,14 +37,14 @@ fn main() { let filename = format!("{}-assistant-job-logs.csv", date_string); let export_path = download_path.join(filename); - let conn = sqlite::Connection::open(db_path).unwrap(); - let mut file = File::create(&export_path).unwrap(); let mut write = csv::Writer::from_writer(&mut file); - let mut i = 1; - loop { - let table_name = format!("assistant_job_logs_{}", i); + for db_path_item in db_list { + println!("DB: {}", db_path_item.to_str().unwrap()); + let conn = sqlite::Connection::open(db_path_item).unwrap(); + + let table_name = "assistant_job_logs"; let query = &format!( "SELECT sceneInstJobUuid, level, time, content FROM {}", table_name @@ -43,7 +63,5 @@ fn main() { break; } } - - i += 1; } }