From 243ebf67b18c511e51b3c602e46845c48e3baae1 Mon Sep 17 00:00:00 2001 From: Malte Brandy Date: Fri, 15 Jun 2018 00:50:10 +0200 Subject: [PATCH] Ignore deleted tasks --- .../packages/rust-scripts/src/bin/update_tasks.rs | 15 +++++++++++++++ .../packages/rust-scripts/src/generate.rs | 4 ++-- .../packages/rust-scripts/src/kassandra.rs | 3 ++- 3 files changed, 19 insertions(+), 3 deletions(-) create mode 100644 home-manager/packages/rust-scripts/src/bin/update_tasks.rs diff --git a/home-manager/packages/rust-scripts/src/bin/update_tasks.rs b/home-manager/packages/rust-scripts/src/bin/update_tasks.rs new file mode 100644 index 00000000..444d991f --- /dev/null +++ b/home-manager/packages/rust-scripts/src/bin/update_tasks.rs @@ -0,0 +1,15 @@ +extern crate rust_scripts; +extern crate task_hookrs; + +use rust_scripts::error::Result; +use rust_scripts::update::update_tasks; +use task_hookrs::cache::TaskCache; +use task_hookrs::status::TaskStatus; + +fn main() -> Result<()> { + let mut cache = TaskCache::new(vec![TaskStatus::Deleted]); + cache.load()?; + update_tasks(&mut cache)?; + cache.write()?; + Ok(()) +} diff --git a/home-manager/packages/rust-scripts/src/generate.rs b/home-manager/packages/rust-scripts/src/generate.rs index c90555f7..7f471dd2 100644 --- a/home-manager/packages/rust-scripts/src/generate.rs +++ b/home-manager/packages/rust-scripts/src/generate.rs @@ -153,8 +153,8 @@ impl GeneratedTask for Task { } fn check_ignores(cache: &TaskCache) -> Result<()> { - if cache.ignore().len() > 0 { - return Err("Don't use generate with a TaskCache with ignores".into()); + if *cache.ignore() != vec![TS::Deleted] { + return Err("Don't use generate with a TaskCache with ignores other than 'TaskStatus::Deleted'".into()); }; Ok(()) } diff --git a/home-manager/packages/rust-scripts/src/kassandra.rs b/home-manager/packages/rust-scripts/src/kassandra.rs index 2bbb98c4..dd8d7130 100644 --- a/home-manager/packages/rust-scripts/src/kassandra.rs +++ b/home-manager/packages/rust-scripts/src/kassandra.rs @@ -8,6 +8,7 @@ use uuid::Uuid; use task_hookrs::cache::TaskCache; use task_hookrs::task::{Task, TaskBuilder}; use task_hookrs::priority::TaskPriority; +use task_hookrs::status::TaskStatus; use dialog::rofi::RofiDialogProvider; use dialog::DialogProvider; @@ -183,7 +184,7 @@ impl Kassandra { Ok(Kassandra { state: get_state()?, dialog: RofiDialogProvider {}, - cache: TaskCache::new(vec![]), + cache: TaskCache::new(vec![TaskStatus::Deleted]), }) }