diff options
Diffstat (limited to 'src/log/item.rs')
-rw-r--r-- | src/log/item.rs | 11 |
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)] |