From 416128fb4c3d64b1561ca61a86f9d31491f3b59d Mon Sep 17 00:00:00 2001 From: Nora Date: Sun, 3 Feb 2019 22:16:57 +0100 Subject: add function to read sequence to khlines --- src/khline.rs | 2 +- src/seqfile.rs | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/src/khline.rs b/src/khline.rs index a1fb825..2cf6cac 100644 --- a/src/khline.rs +++ b/src/khline.rs @@ -7,7 +7,7 @@ use icalwrap::{IcalVCalendar,IcalVEvent,IcalTime}; use utils::{fileutil,dateutil}; use defaults; -#[derive(PartialEq,Eq)] +#[derive(PartialEq,Eq,Debug)] pub struct KhLine { pub path: PathBuf, time: Option, diff --git a/src/seqfile.rs b/src/seqfile.rs index e2c2ddf..5994a33 100644 --- a/src/seqfile.rs +++ b/src/seqfile.rs @@ -2,7 +2,10 @@ use std::fs::rename; use std::io; use defaults::*; +use khline::KhLine; use utils::fileutil; +use KhResult; +use errors::KhError; pub fn write_to_seqfile(lines: &str) -> io::Result<()> { let tmpfilename = get_datafile("tmpseq"); @@ -21,6 +24,14 @@ pub fn read_seqfile() -> io::Result> { fileutil::read_lines_from_file(&seqfile) } +pub fn read_seqfile_khlines() -> KhResult> { + read_seqfile()? + .map(|line| line.parse::()) + .collect::, String>>() + .map_err(KhError::from) + .map(|lines| lines.into_iter()) +} + #[cfg(test)] mod tests { use super::*; @@ -40,6 +51,15 @@ mod tests { testdir.child(".khaleesi/seq").assert(predicate); } + #[test] + fn read_seqfile_khlines_test() { + let _testdir = prepare_testdir("testdir_with_seq"); + let mut khlines = read_seqfile_khlines().unwrap(); + + let khline_expected = "1544740200 twodaysacrossbuckets.ics".parse::().unwrap(); + assert_eq!(khline_expected, khlines.next().unwrap()) + } + #[test] fn write_to_seqfile_test() { let testdir = prepare_testdir("testdir"); -- cgit v1.2.3