summaryrefslogtreecommitdiffstats
path: root/src/log/item.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/log/item.rs')
-rw-r--r--src/log/item.rs11
1 files changed, 11 insertions, 0 deletions
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)]