diff options
author | Matthias Beyer <matthias.beyer@atos.net> | 2021-05-31 11:39:11 +0200 |
---|---|---|
committer | Matthias Beyer <matthias.beyer@atos.net> | 2021-05-31 11:39:11 +0200 |
commit | fb162232e0c093afc76210ce2bdcde03aa8fd9b0 (patch) | |
tree | b0b5c0c2980519edd941ff4a964d61a6f2f47353 /src | |
parent | 55d06ba6b634883257c98b60f2f3441287f888f8 (diff) | |
parent | 55715ffb14cd24a27fd70c0ad4154eedc6251976 (diff) |
Merge branch 'fix-color-log-in-db'
Diffstat (limited to 'src')
-rw-r--r-- | src/endpoint/scheduler.rs | 3 | ||||
-rw-r--r-- | src/log/item.rs | 11 |
2 files changed, 12 insertions, 2 deletions
diff --git a/src/endpoint/scheduler.rs b/src/endpoint/scheduler.rs index 5a00c99..2374aa9 100644 --- a/src/endpoint/scheduler.rs +++ b/src/endpoint/scheduler.rs @@ -426,8 +426,7 @@ impl<'a> LogReceiver<'a> { Ok({ accu.iter() - .map(crate::log::LogItem::display) - .map_ok(|d| d.to_string()) + .map(crate::log::LogItem::raw) .collect::<Result<Vec<String>>>()? .join("\n") }) diff --git a/src/log/item.rs b/src/log/item.rs index 2887841..d49c51b 100644 --- a/src/log/item.rs +++ b/src/log/item.rs @@ -8,6 +8,7 @@ // SPDX-License-Identifier: EPL-2.0 // +use anyhow::Error; use anyhow::Result; use colored::Colorize; @@ -37,6 +38,16 @@ impl LogItem { LogItem::State(Err(s)) => Ok(Display(format!("#BUTIDO:STATE:ERR:{}", s).red())), } } + + pub fn raw(&self) -> Result<String> { + match self { + LogItem::Line(s) => String::from_utf8(s.to_vec()).map_err(Error::from), + LogItem::Progress(u) => Ok(format!("#BUTIDO:PROGRESS:{}", u)), + LogItem::CurrentPhase(p) => Ok(format!("#BUTIDO:PHASE:{}", p)), + LogItem::State(Ok(())) => Ok("#BUTIDO:STATE:OK".to_string()), + LogItem::State(Err(s)) => Ok(format!("#BUTIDO:STATE:ERR:{}", s)), + } + } } #[derive(parse_display::Display)] |