From 5e73b5c0bfc37ef6480338a386c64ac224e55666 Mon Sep 17 00:00:00 2001 From: amtoaer Date: Sun, 31 Mar 2024 14:01:12 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E7=A8=8B=E5=BA=8F=E5=85=A5=E5=8F=A3?= =?UTF-8?q?=E8=BF=9B=E8=A1=8C=E6=95=B0=E6=8D=AE=E5=BA=93=E8=BF=81=E7=A7=BB?= =?UTF-8?q?=EF=BC=8C=E8=AF=BB=E5=8F=96=E5=85=A8=E5=B1=80=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main.rs | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/main.rs b/src/main.rs index 6c89fd5..ea9bfa4 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,29 +1,34 @@ use bili_sync::bilibili::BiliClient; use bili_sync::core::command::process_favorite; -use bili_sync::database::database_connection; +use bili_sync::database::{database_connection, migrate_database}; use log::error; #[tokio::main] async fn main() -> ! { env_logger::init(); - let mut today = chrono::Local::now().date_naive(); - let mut bili_client = BiliClient::new(None); + let mut anchor = chrono::Local::now().date_naive(); + let (credential, interval, favorites) = { + let config = bili_sync::config::CONFIG.lock().unwrap(); + (config.credential.clone(), config.interval, config.favorite_list.clone()) + }; + let mut bili_client = BiliClient::new(credential); let connection = database_connection().await.unwrap(); + migrate_database(&connection).await.unwrap(); loop { - if today != chrono::Local::now().date_naive() { + if anchor != chrono::Local::now().date_naive() { if let Err(e) = bili_client.check_refresh().await { error!("Error: {e}"); - tokio::time::sleep(std::time::Duration::from_secs(600)).await; + tokio::time::sleep(std::time::Duration::from_secs(interval)).await; continue; } - today = chrono::Local::now().date_naive(); + anchor = chrono::Local::now().date_naive(); } - for fid in ["52642258"] { - let res = process_favorite(&bili_client, fid, &connection).await; + for (fid, path) in &favorites { + let res = process_favorite(&bili_client, fid, path, &connection).await; if let Err(e) = res { error!("Error: {e}"); } } - tokio::time::sleep(std::time::Duration::from_secs(600)).await; + tokio::time::sleep(std::time::Duration::from_secs(interval)).await; } }