From 917e480a673d1ab03218702d0e9e726131e48799 Mon Sep 17 00:00:00 2001 From: Jonas Bushart Date: Sun, 20 Jan 2019 18:07:20 +0100 Subject: [PATCH 1/3] Implement HTML output for Table and TableSlice * Add a HTML escaper to the utils class. * Expand TableSlice, Row, and Cell with HTML printing functions. These are implemented from scratch as they share almost nothing with the line based printing used for text, as HTML directly supports multiline cells. * Add tests to Cell and Table which test the new functionality. --- src/cell.rs | 95 ++++++++++++++++++++++++++++++++++++++++++++++++++-- src/lib.rs | 91 +++++++++++++++++++++++++++++++++++++++++++++++++ src/row.rs | 15 +++++++++ src/utils.rs | 38 +++++++++++++++++++++ 4 files changed, 237 insertions(+), 2 deletions(-) diff --git a/src/cell.rs b/src/cell.rs index 795c4c750a..410ebd1d17 100644 --- a/src/cell.rs +++ b/src/cell.rs @@ -1,8 +1,7 @@ //! This module contains definition of table/row cells stuff use super::format::Alignment; -use super::utils::display_width; -use super::utils::print_align; +use super::utils::{display_width, print_align, HtmlEscape}; use super::{color, Attr, Terminal}; use std::io::{Error, Write}; use std::string::ToString; @@ -244,6 +243,79 @@ impl Cell { Err(e) => Err(term_error_to_io_error(e)), } } + + /// Print the cell in HTML format to `out`. + pub fn print_html(&self, out: &mut T) -> Result { + /// Convert the color to a hex value useful in CSS + fn color2hex(color: color::Color) -> &'static str { + match color { + color::BLACK => "#000000", + color::RED => "#aa0000", + color::GREEN => "#00aa00", + color::YELLOW => "#aa5500", + color::BLUE => "#0000aa", + color::MAGENTA => "#aa00aa", + color::CYAN => "#00aaaa", + color::WHITE => "#aaaaaa", + color::BRIGHT_BLACK => "#555555", + color::BRIGHT_RED => "#ff5555", + color::BRIGHT_GREEN => "#55ff55", + color::BRIGHT_YELLOW => "#ffff55", + color::BRIGHT_BLUE => "#5555ff", + color::BRIGHT_MAGENTA => "#ff55ff", + color::BRIGHT_CYAN => "#55ffff", + color::BRIGHT_WHITE => "#ffffff", + + // Unknown colors, fallback to blakc + _ => "#000000", + } + }; + + let colspan = if self.hspan > 1 { + format!(" colspan=\"{}\"", self.hspan) + } else { + String::new() + }; + + // Process style properties like color + let mut styles = String::new(); + for style in &self.style { + match style { + Attr::Bold => styles += "font-weight: bold;", + Attr::Italic(true) => styles += "font-style: italic;", + Attr::Underline(true) => styles += "text-decoration: underline;", + Attr::ForegroundColor(c) => { + styles += "color: "; + styles += color2hex(*c); + styles += ";"; + } + Attr::BackgroundColor(c) => { + styles += "background-color: "; + styles += color2hex(*c); + styles += ";"; + } + _ => {} + } + } + // Process alignment + match self.align { + Alignment::LEFT => styles += "text-align: left;", + Alignment::CENTER => styles += "text-align: center;", + Alignment::RIGHT => styles += "text-align: right;", + } + + let content = self.content.join("
"); + out.write_all( + format!( + "{0}", + HtmlEscape(&content), + colspan, + styles + ) + .as_bytes(), + )?; + Ok(self.hspan) + } } fn term_error_to_io_error(te: ::term::Error) -> Error { @@ -360,6 +432,25 @@ mod tests { assert_eq!(out.as_string(), "由系统自动更新 "); } + #[test] + fn print_ascii_html() { + let ascii_cell = Cell::new("hello"); + assert_eq!(ascii_cell.get_width(), 5); + + let mut out = StringWriter::new(); + let _ = ascii_cell.print_html(&mut out); + assert_eq!(out.as_string(), r#"hello"#); + } + + #[test] + fn print_html_special_chars() { + let ascii_cell = Cell::new("&'"); + + let mut out = StringWriter::new(); + let _ = ascii_cell.print_html(&mut out); + assert_eq!(out.as_string(), r#"<abc">&'"#); + } + #[test] fn align_left() { let cell = Cell::new_align("test", Alignment::LEFT); diff --git a/src/lib.rs b/src/lib.rs index 66daaf9a60..1e020557ff 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -204,6 +204,28 @@ impl<'a> TableSlice<'a> { pub fn printstd(&self) -> usize { self.print_tty(false) } + + /// Print table in HTML format to `out`. + pub fn print_html(&self, out: &mut T) -> Result<(), Error> { + // Compute column width + let column_num = self.get_column_num(); + out.write_all(b"")?; + // Print titles / table header + if let Some(ref t) = *self.titles { + out.write_all(b"")?; + } + // Print rows + for r in self.rows { + out.write_all(b"")?; + r.print_html(out, column_num)?; + out.write_all(b"")?; + } + out.write_all(b"
")?; + t.print_html(out, column_num)?; + out.write_all(b"
")?; + out.flush()?; + Ok(()) + } } impl<'a> IntoIterator for &'a TableSlice<'a> { @@ -372,6 +394,10 @@ impl Table { self.as_ref().printstd() } + /// Print table in HTML format to `out`. + pub fn print_html(&self, out: &mut T) -> Result<(), Error> { + self.as_ref().print_html(out) + } } impl Index for Table { @@ -980,4 +1006,69 @@ mod tests { assert_eq!(out, table.to_string().replace("\r\n","\n")); assert_eq!(7, table.print(&mut StringWriter::new()).unwrap()); } + + #[test] + fn table_html() { + let mut table = Table::new(); + table.add_row(Row::new(vec![Cell::new("a"), Cell::new("bc"), Cell::new("def")])); + table.add_row(Row::new(vec![Cell::new("def"), Cell::new("bc"), Cell::new("a")])); + table.set_titles(Row::new(vec![Cell::new("t1"), Cell::new("t2"), Cell::new("t3")])); + let out = "\ +\ +\ +\ +\ +
t1t2t3
abcdef
defbca
"; + let mut writer = StringWriter::new(); + assert!(table.print_html(&mut writer).is_ok()); + assert_eq!(writer.as_string().replace("\r\n", "\n"), out); + table.unset_titles(); + let out = "\ +\ +\ +\ +
abcdef
defbca
"; + let mut writer = StringWriter::new(); + assert!(table.print_html(&mut writer).is_ok()); + assert_eq!(writer.as_string().replace("\r\n", "\n"), out); + } + + #[test] + fn table_html_colors() { + let mut table = Table::new(); + table.add_row(Row::new(vec![ + Cell::new("bold").style_spec("b"), + Cell::new("italic").style_spec("i"), + Cell::new("underline").style_spec("u"), + ])); + table.add_row(Row::new(vec![ + Cell::new("left").style_spec("l"), + Cell::new("center").style_spec("c"), + Cell::new("right").style_spec("r"), + ])); + table.add_row(Row::new(vec![ + Cell::new("red").style_spec("Fr"), + Cell::new("black").style_spec("Fd"), + Cell::new("yellow").style_spec("Fy"), + ])); + table.add_row(Row::new(vec![ + Cell::new("bright magenta on cyan").style_spec("FMBc"), + Cell::new("white on bright green").style_spec("FwBG"), + Cell::new("default on blue").style_spec("Bb"), + ])); + table.set_titles(Row::new(vec![ + Cell::new("span horizontal").style_spec("H3"), + ])); + let out = "\ +\ +\ +\ +\ +\ +\ +
span horizontal
bolditalicunderline
leftcenterright
redblackyellow
bright magenta on cyanwhite on bright greendefault on blue
"; + let mut writer = StringWriter::new(); + assert!(table.print_html(&mut writer).is_ok()); + assert_eq!(writer.as_string().replace("\r\n", "\n"), out); + } } diff --git a/src/row.rs b/src/row.rs index 94c0d8e5a5..dd3efcfcd7 100644 --- a/src/row.rs +++ b/src/row.rs @@ -205,6 +205,21 @@ impl Row { -> Result { self.__print(out, format, col_width, Cell::print_term) } + + /// Print the row in HTML format to `out`. + /// + /// If the row is has fewer columns than `col_num`, the row is padded with empty cells. + pub fn print_html(&self, out: &mut T, col_num: usize) -> Result<(), Error> { + let mut printed_columns = 0; + for cell in self.iter() { + printed_columns += cell.print_html(out)?; + } + // Pad with empty cells, if target width is not reached + for _ in 0..col_num - printed_columns { + Cell::default().print_html(out)?; + } + Ok(()) + } } impl Default for Row { diff --git a/src/utils.rs b/src/utils.rs index f2d89ae4fe..dbd8db158c 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -1,4 +1,5 @@ //! Internal only utilities +use std::fmt; use std::io::{Error, ErrorKind, Write}; use std::str; @@ -105,6 +106,43 @@ pub fn display_width(text: &str) -> usize { width - hidden } +/// Wrapper struct which will emit the HTML-escaped version of the contained +/// string when passed to a format string. +pub struct HtmlEscape<'a>(pub &'a str); + +impl<'a> fmt::Display for HtmlEscape<'a> { + fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result { + // Because the internet is always right, turns out there's not that many + // characters to escape: http://stackoverflow.com/questions/7381974 + let HtmlEscape(s) = *self; + let pile_o_bits = s; + let mut last = 0; + for (i, ch) in s.bytes().enumerate() { + match ch as char { + '<' | '>' | '&' | '\'' | '"' => { + fmt.write_str(&pile_o_bits[last.. i])?; + let s = match ch as char { + '>' => ">", + '<' => "<", + '&' => "&", + '\'' => "'", + '"' => """, + _ => unreachable!() + }; + fmt.write_str(s)?; + last = i + 1; + } + _ => {} + } + } + + if last < s.len() { + fmt.write_str(&pile_o_bits[last..])?; + } + Ok(()) + } +} + #[cfg(test)] mod tests { use super::*; From 66b913fa54ca0ce700506125867c3ab117f7667f Mon Sep 17 00:00:00 2001 From: Jonas Bushart Date: Sun, 20 Jan 2019 18:10:23 +0100 Subject: [PATCH 2/3] Integrate the new HTML printing with Evcxr * Add optional feature for Evcxr integration * Implement trait for everything which can be converted into a Tableslice. The trait prints the Tableslice in plain-text and HTML format in a Evcxr compatible manner. --- Cargo.toml | 1 + src/evcxr.rs | 30 ++++++++++++++++++++++++++++++ src/lib.rs | 3 +++ 3 files changed, 34 insertions(+) create mode 100644 src/evcxr.rs diff --git a/Cargo.toml b/Cargo.toml index a3d0939f3a..b6be3b1dc8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -20,6 +20,7 @@ codecov = { repository = "phsym/prettytable-rs", branch = "master", service = "g [features] default = ["win_crlf", "csv"] +evcxr = [] win_crlf = [] [[bin]] diff --git a/src/evcxr.rs b/src/evcxr.rs new file mode 100644 index 0000000000..11d632acc2 --- /dev/null +++ b/src/evcxr.rs @@ -0,0 +1,30 @@ +//! This modules contains traits and implementations to work within Evcxr + +use super::TableSlice; +use super::utils::StringWriter; +use std::io::Write; + +/// Evcxr specific output trait +pub trait EvcxrDisplay { + /// Print self in one or multiple Evcxr compatile types. + fn evcxr_display(&self); +} + +impl<'a, T> EvcxrDisplay for T +where + T: AsRef>, +{ + fn evcxr_display(&self) { + let mut writer = StringWriter::new(); + // Plain Text + let _ = writer.write_all(b"EVCXR_BEGIN_CONTENT text/plain\n"); + let _ = self.as_ref().print(&mut writer); + let _ = writer.write_all(b"\nEVCXR_END_CONTENT\n"); + + // Html + let _ = writer.write_all(b"EVCXR_BEGIN_CONTENT text/html\n"); + let _ = self.as_ref().print_html(&mut writer); + let _ = writer.write_all(b"\nEVCXR_END_CONTENT\n"); + println!("{}", writer.as_string()); + } +} diff --git a/src/lib.rs b/src/lib.rs index 1e020557ff..9ccb008083 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -24,6 +24,9 @@ mod utils; #[cfg(feature = "csv")] pub mod csv; +#[cfg(feature = "evcxr")] +pub mod evcxr; + pub use row::Row; pub use cell::Cell; use format::{TableFormat, LinePosition, consts}; From 19805573d9260c074f19442b02d62cb8a1769913 Mon Sep 17 00:00:00 2001 From: Jonas Bushart Date: Mon, 26 Aug 2019 00:35:01 +0200 Subject: [PATCH 3/3] Add description about the Evcxr support to the readme --- Cargo.toml | 5 ++++- README.md | 17 +++++++++++++++++ prettytable-evcxr.png | Bin 0 -> 72017 bytes 3 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 prettytable-evcxr.png diff --git a/Cargo.toml b/Cargo.toml index b6be3b1dc8..b86067654a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -12,6 +12,9 @@ keywords = ["tab", "table", "format", "pretty", "print"] categories = ["command-line-interface"] license = "BSD-3-Clause" edition = "2018" +exclude = [ + "prettytable-evcxr.png" +] [badges] appveyor = { repository = "phsym/prettytable-rs", branch = "master", service = "github" } @@ -20,7 +23,7 @@ codecov = { repository = "phsym/prettytable-rs", branch = "master", service = "g [features] default = ["win_crlf", "csv"] -evcxr = [] +evcxr = [] win_crlf = [] [[bin]] diff --git a/README.md b/README.md index d702cf8921..d1fa0eaa29 100644 --- a/README.md +++ b/README.md @@ -29,6 +29,7 @@ A formatted and aligned table printer library for [Rust](https://www.rust-lang.o * [Importing](#user-content-importing) * [Exporting](#user-content-exporting) * [Note on line endings](#user-content-note-on-line-endings) + * [Evcxr Integration](#evcxr-integration) ## Including @@ -379,3 +380,19 @@ on any platform. This customization capability will probably move to Formatting API in a future release. Additional examples are provided in the documentation and in [examples](./examples/) directory. + +## Evcxr Integration + +[Evcxr][evcxr] is a Rust REPL and a [Jupyter notebook kernel][evcxr-jupyter]. +This crate integrates into Evcxr and the Jupyter notebooks using the `evcxr` feature flag, which enables native displays of tables. +This includes support for displaying colors and various formattings. + +You can include prettytable as a dependency using this line: +``` +:dep prettytable = { git = "https://github.com/phsym/prettytable-rs", package = "prettytable-rs", features = ["evcxr"] } +``` + +![prettytable being used in a Jupyter notebook with Evcxr Rust kernel.](./prettytable-evcxr.png) + +[evcxr]: https://github.com/google/evcxr/ +[evcxr-jupyter]: https://github.com/google/evcxr/blob/master/evcxr_jupyter/README.md diff --git a/prettytable-evcxr.png b/prettytable-evcxr.png new file mode 100644 index 0000000000000000000000000000000000000000..22264bef043e1277e471b89e02437d2a26ca4293 GIT binary patch literal 72017 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�?j(K;_ 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 qF#jZu>LmQ