aboutsummaryrefslogtreecommitdiff
path: root/src/cli
diff options
context:
space:
mode:
Diffstat (limited to 'src/cli')
-rw-r--r--src/cli/mod.rs21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/cli/mod.rs b/src/cli/mod.rs
new file mode 100644
index 0000000..862bcbe
--- /dev/null
+++ b/src/cli/mod.rs
@@ -0,0 +1,21 @@
+use anyhow::Result;
+use chrono::Local;
+use rusqlite::Connection;
+
+use crate::{db, model::event, model::event::Event};
+
+pub fn today(conn: &Connection) -> Result<String> {
+ let today = Local::today().naive_local();
+ let mut events = db::list_non_repeated_between(conn, today, today)?;
+ let repeated_events = db::list_repeated(conn)?;
+ let repetitions = event::repetitions_between(&repeated_events, today, today);
+ for repetition in repetitions.values().flatten() {
+ events.push(repetition.clone());
+ }
+ events.sort_by_key(|e| e.start);
+ Ok(events
+ .iter()
+ .map(Event::pprint)
+ .collect::<Vec<String>>()
+ .join("\n"))
+}