summaryrefslogtreecommitdiffstats
path: root/src/actions/unroll.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/actions/unroll.rs')
-rw-r--r--src/actions/unroll.rs37
1 files changed, 0 insertions, 37 deletions
diff --git a/src/actions/unroll.rs b/src/actions/unroll.rs
deleted file mode 100644
index e3c8a09..0000000
--- a/src/actions/unroll.rs
+++ /dev/null
@@ -1,37 +0,0 @@
-use std::path::{PathBuf, Path};
-use structopt::StructOpt;
-
-use crate::khline::KhLine;
-use crate::KhResult;
-use crate::khevent::KhEvent;
-
-#[derive(Debug, StructOpt)]
-pub struct UnrollArgs {
- /// The file to unroll
- #[structopt(name = "path", parse(from_os_str))]
- pub path: PathBuf,
-}
-
-pub fn action_unroll(args: &UnrollArgs) -> KhResult<()> {
- let filepath = &args.path;
- do_unroll(filepath)?;
-
- Ok(())
-}
-
-fn do_unroll(filepath: &Path) -> KhResult<()> {
- let path = filepath.to_str().ok_or_else(|| "str to path failed")?;
- let khline = path.parse::<KhLine>()?;
- let cal = khline.to_cal()?;
-
- for ical_event in cal.events_iter() {
- let event = KhEvent::from_event(ical_event);
- if event.is_recur_master() {
- let recurs = event.get_recur_datetimes();
- for datetime in recurs {
- println!("{} {}", datetime.timestamp(), cal.get_path_as_string().unwrap_or_else(|| "".to_string()));
- }
- }
- }
- Ok(())
-}