From 155971b36c100c0c146492375d5580ef0c5ac572 Mon Sep 17 00:00:00 2001 From: Till Höppner Date: Wed, 16 Mar 2016 17:17:25 +0100 Subject: Add time_out param, change timezone handling --- formats/energymech/src/lib.rs | 20 ++++++++++---------- formats/weechat/src/lib.rs | 25 +++++++++++++++++-------- 2 files changed, 27 insertions(+), 18 deletions(-) (limited to 'formats') diff --git a/formats/energymech/src/lib.rs b/formats/energymech/src/lib.rs index cf9f654..e0481e1 100644 --- a/formats/energymech/src/lib.rs +++ b/formats/energymech/src/lib.rs @@ -34,7 +34,7 @@ impl<'a> Iterator for Iter<'a> { let m = time[4..6].parse::().unwrap(); let s = time[7..9].parse::().unwrap(); if let Some(date) = context.override_date { - Time::Timestamp(context.timezone + Time::Timestamp(context.timezone_in .from_local_date(&date) .and_time(NaiveTime::from_hms(h, m, s)) .single() @@ -236,35 +236,35 @@ impl Encode for Energymech { &Event { ty: Type::Msg { ref from, ref content }, ref time, .. } => { try!(writeln!(&mut output, "[{}] <{}> {}", - time.with_format(&context.timezone, TIME_FORMAT), + time.with_format(&context.timezone_out, TIME_FORMAT), from, content)) } &Event { ty: Type::Notice { ref from, ref content }, ref time, .. } => { try!(writeln!(&mut output, "[{}] -{}- {}", - time.with_format(&context.timezone, TIME_FORMAT), + time.with_format(&context.timezone_out, TIME_FORMAT), from, content)) } &Event { ty: Type::Action { ref from, ref content }, ref time, .. } => { try!(writeln!(&mut output, "[{}] * {} {}", - time.with_format(&context.timezone, TIME_FORMAT), + time.with_format(&context.timezone_out, TIME_FORMAT), from, content)) } &Event { ty: Type::Nick { ref old_nick, ref new_nick }, ref time, .. } => { try!(writeln!(&mut output, "[{}] *** {} is now known as {}", - time.with_format(&context.timezone, TIME_FORMAT), + time.with_format(&context.timezone_out, TIME_FORMAT), old_nick, new_nick)) } &Event { ty: Type::Mode { ref nick, ref mode, ref masks }, ref time, .. } => { try!(writeln!(&mut output, "[{}] *** {} sets mode: {} {}", - time.with_format(&context.timezone, TIME_FORMAT), + time.with_format(&context.timezone_out, TIME_FORMAT), nick.as_ref().expect("Nickname not present, but required."), mode, masks)) @@ -272,14 +272,14 @@ impl Encode for Energymech { &Event { ty: Type::Join { ref nick, ref mask }, ref time, .. } => { try!(writeln!(&mut output, "[{}] *** Joins: {} ({})", - time.with_format(&context.timezone, TIME_FORMAT), + time.with_format(&context.timezone_out, TIME_FORMAT), nick, mask.as_ref().expect("Mask not present, but required."))) } &Event { ty: Type::Part { ref nick, ref mask, ref reason }, ref time, .. } => { try!(writeln!(&mut output, "[{}] *** Parts: {} ({}) ({})", - time.with_format(&context.timezone, TIME_FORMAT), + time.with_format(&context.timezone_out, TIME_FORMAT), nick, mask.as_ref().expect("Mask not present, but required."), reason.as_ref().unwrap_or(&Cow::Borrowed("")))) @@ -287,7 +287,7 @@ impl Encode for Energymech { &Event { ty: Type::Quit { ref nick, ref mask, ref reason }, ref time, .. } => { try!(writeln!(&mut output, "[{}] *** Quits: {} ({}) ({})", - time.with_format(&context.timezone, TIME_FORMAT), + time.with_format(&context.timezone_out, TIME_FORMAT), nick, mask.as_ref().expect("Mask not present, but required."), reason.as_ref().expect("Reason not present, but required."))) @@ -295,7 +295,7 @@ impl Encode for Energymech { &Event { ty: Type::TopicChange { ref nick, ref new_topic }, ref time, .. } => { try!(writeln!(&mut output, "[{}] *** {} changes topic to '{}'", - time.with_format(&context.timezone, TIME_FORMAT), + time.with_format(&context.timezone_out, TIME_FORMAT), nick.as_ref().expect("Nick not present, but required."), new_topic)) } diff --git a/formats/weechat/src/lib.rs b/formats/weechat/src/lib.rs index 7d9eb3d..d347d5d 100644 --- a/formats/weechat/src/lib.rs +++ b/formats/weechat/src/lib.rs @@ -27,7 +27,9 @@ impl<'a> Iterator for Iter<'a> { type Item = ilc_base::Result>; fn next(&mut self) -> Option>> { fn parse_time(c: &Context, date: &str, time: &str) -> Time { - Time::from_format(&c.timezone, &format!("{} {}", date, time), TIME_DATE_FORMAT) + Time::from_format(&c.timezone_in, + &format!("{} {}", date, time), + TIME_DATE_FORMAT) } loop { @@ -181,29 +183,36 @@ impl Encode for Weechat { &Event { ty: Type::Msg { ref from, ref content, .. }, ref time, .. } => { try!(writeln!(&mut output, "{}\t{}\t{}", - time.with_format(&context.timezone, TIME_DATE_FORMAT), + time.with_format(&context.timezone_out, TIME_DATE_FORMAT), from, content)) } &Event { ty: Type::Action { ref from, ref content, .. }, ref time, .. } => { try!(writeln!(&mut output, "{}\t *\t{} {}", - time.with_format(&context.timezone, TIME_DATE_FORMAT), + time.with_format(&context.timezone_out, TIME_DATE_FORMAT), from, content)) } &Event { ty: Type::Join { ref nick, ref mask, .. }, ref channel, ref time } => { try!(writeln!(&mut output, "{}\t-->\t{} ({}) has joined {}", - time.with_format(&context.timezone, TIME_DATE_FORMAT), + time.with_format(&context.timezone_out, TIME_DATE_FORMAT), nick, mask.as_ref().expect("Hostmask not present, but required."), channel.as_ref().expect("Channel not present, but required."))) } + &Event { ty: Type::Nick { ref old_nick, ref new_nick, .. }, ref time, .. } => { + try!(writeln!(&mut output, + "{}\t--\t{} is now known as {}", + time.with_format(&context.timezone_out, TIME_DATE_FORMAT), + old_nick, + new_nick)) + } &Event { ty: Type::Part { ref nick, ref mask, ref reason }, ref channel, ref time } => { try!(write!(&mut output, "{}\t<--\t{} ({}) has left {}", - time.with_format(&context.timezone, TIME_DATE_FORMAT), + time.with_format(&context.timezone_out, TIME_DATE_FORMAT), nick, mask.as_ref().expect("Hostmask not present, but required."), channel.as_ref().expect("Channel not present, but required."))); @@ -215,7 +224,7 @@ impl Encode for Weechat { &Event { ty: Type::Quit { ref nick, ref mask, ref reason }, ref time, .. } => { try!(write!(&mut output, "{}\t<--\t{} ({}) has quit", - time.with_format(&context.timezone, TIME_DATE_FORMAT), + time.with_format(&context.timezone_out, TIME_DATE_FORMAT), nick, mask.as_ref().expect("Hostmask not present, but required."))); if reason.is_some() && reason.as_ref().unwrap().len() > 0 { @@ -226,12 +235,12 @@ impl Encode for Weechat { &Event { ty: Type::Disconnect, ref time, .. } => { try!(writeln!(&mut output, "{}\t--\tirc: disconnected from server", - time.with_format(&context.timezone, TIME_DATE_FORMAT))) + time.with_format(&context.timezone_out, TIME_DATE_FORMAT))) } &Event { ty: Type::Notice { ref from, ref content }, ref time, .. } => { try!(writeln!(&mut output, "{}\t--\tNotice({}): {}", - time.with_format(&context.timezone, TIME_DATE_FORMAT), + time.with_format(&context.timezone_out, TIME_DATE_FORMAT), from, content)) } -- cgit v1.2.3