From c38486851ae05c86c775c3acdff7aff8106bbdc2 Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Sun, 3 Jan 2021 10:14:02 +0100 Subject: Use TryFrom for LogItemDeser -> LogItem conversion Signed-off-by: Matthias Beyer --- src/config.rs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/config.rs b/src/config.rs index 465d802..7238eb9 100644 --- a/src/config.rs +++ b/src/config.rs @@ -4,6 +4,7 @@ extern crate log; extern crate toml; use std::path::PathBuf; +use std::convert::TryFrom; use regex::Regex; use error::*; use getset::Getters; @@ -77,10 +78,11 @@ pub struct LogItem { aliases : Vec, } -impl LogItem { +impl TryFrom for LogItem { + type Error = crate::error::Error; /// Transforms a LogItemDeser into a more immediately usable LogItem - fn from_log_item_deser(lid : LogItemDeser) -> Result { + fn try_from(lid : LogItemDeser) -> std::result::Result { // first capture is the whole match and nameless // second capture is always the timestamp let cnames : Vec = lid.regex @@ -134,7 +136,7 @@ impl Config { let mut l_items : Vec = Vec::new(); for lid in conf_deser.get_items() { - l_items.push(LogItem::from_log_item_deser((*lid).clone())?); + l_items.push(LogItem::try_from((*lid).clone())?); } // combines all aliases into one Vec for the /search endpoint -- cgit v1.2.3