summaryrefslogtreecommitdiffstats
path: root/libimagentryview
diff options
context:
space:
mode:
authorMatthias Beyer <mail@beyermatthias.de>2016-07-16 22:46:43 +0200
committerMatthias Beyer <mail@beyermatthias.de>2016-07-17 01:27:09 +0200
commit98e0e5aaf54474770cea9dcf6dde10c1f0b88e20 (patch)
tree05c714d072ebd6000a314eb1b21aac26cf6b6190 /libimagentryview
parentb0e6c00f2200db6191287aa851d43c245a82f1bc (diff)
Add StdoutViewer
Diffstat (limited to 'libimagentryview')
-rw-r--r--libimagentryview/src/builtin/mod.rs1
-rw-r--r--libimagentryview/src/builtin/stdout.rs38
2 files changed, 39 insertions, 0 deletions
diff --git a/libimagentryview/src/builtin/mod.rs b/libimagentryview/src/builtin/mod.rs
index 6c83de88..248d8b25 100644
--- a/libimagentryview/src/builtin/mod.rs
+++ b/libimagentryview/src/builtin/mod.rs
@@ -1 +1,2 @@
pub mod plain;
+pub mod stdout;
diff --git a/libimagentryview/src/builtin/stdout.rs b/libimagentryview/src/builtin/stdout.rs
new file mode 100644
index 00000000..7f6a8b28
--- /dev/null
+++ b/libimagentryview/src/builtin/stdout.rs
@@ -0,0 +1,38 @@
+use libimagstore::store::Entry;
+
+use toml::encode_str;
+
+use viewer::Viewer;
+use result::Result;
+
+pub struct StdoutViewer {
+ view_header: bool,
+ view_content: bool,
+}
+
+impl StdoutViewer {
+
+ pub fn new(view_header: bool, view_content: bool) -> StdoutViewer {
+ StdoutViewer {
+ view_header: view_header,
+ view_content: view_content,
+ }
+ }
+
+}
+
+impl Viewer for StdoutViewer {
+
+ fn view_entry(&self, e: &Entry) -> Result<()> {
+ if self.view_header {
+ println!("{}", encode_str(e.get_header().header()));
+ }
+
+ if self.view_content {
+ println!("{}", e.get_content());
+ }
+
+ Ok(())
+ }
+
+}