From a58bb9cca86ee63570ba0d19e0723b63ae918383 Mon Sep 17 00:00:00 2001 From: Kevin Li Date: Mon, 6 Feb 2017 15:02:18 -0500 Subject: [PATCH] Create unicode_tables.py Added tables that directly uses Unicode characters. Useful for outputting outputs that do not support terminal control characters. --- terminaltables/unicode_tables.py | 69 ++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 terminaltables/unicode_tables.py diff --git a/terminaltables/unicode_tables.py b/terminaltables/unicode_tables.py new file mode 100644 index 00000000..3bfa4227 --- /dev/null +++ b/terminaltables/unicode_tables.py @@ -0,0 +1,69 @@ +"""Tables using unicode box drawing characters defined here.""" + +from terminaltables.ascii_table import AsciiTable + +class UnicodeSingleTable(AsciiTable): + """Draw a table using box-drawing characters. + """ + CHAR_F_INNER_HORIZONTAL = '─' + CHAR_F_INNER_INTERSECT = '┼' + CHAR_F_INNER_VERTICAL = '│' + CHAR_F_OUTER_LEFT_INTERSECT = '├' + CHAR_F_OUTER_LEFT_VERTICAL = '│' + CHAR_F_OUTER_RIGHT_INTERSECT = '┤' + CHAR_F_OUTER_RIGHT_VERTICAL = '│' + CHAR_H_INNER_HORIZONTAL = '─' + CHAR_H_INNER_INTERSECT = '┼' + CHAR_H_INNER_VERTICAL = '│' + CHAR_H_OUTER_LEFT_INTERSECT = '├' + CHAR_H_OUTER_LEFT_VERTICAL = '│' + CHAR_H_OUTER_RIGHT_INTERSECT = '┤' + CHAR_H_OUTER_RIGHT_VERTICAL = '│' + CHAR_INNER_HORIZONTAL = '─' + CHAR_INNER_INTERSECT = '┼' + CHAR_INNER_VERTICAL = '│' + CHAR_OUTER_BOTTOM_HORIZONTAL = '─' + CHAR_OUTER_BOTTOM_INTERSECT = '┴' + CHAR_OUTER_BOTTOM_LEFT = '└' + CHAR_OUTER_BOTTOM_RIGHT = '┘' + CHAR_OUTER_LEFT_INTERSECT = '├' + CHAR_OUTER_LEFT_VERTICAL = '│' + CHAR_OUTER_RIGHT_INTERSECT = '┤' + CHAR_OUTER_RIGHT_VERTICAL = '│' + CHAR_OUTER_TOP_HORIZONTAL = '─' + CHAR_OUTER_TOP_INTERSECT = '┬' + CHAR_OUTER_TOP_LEFT = '┌' + CHAR_OUTER_TOP_RIGHT = '┐' + +class UnicodeDoubleTable(AsciiTable): + """Draw a table using double lined box-drawing characters. + """ + CHAR_F_INNER_HORIZONTAL = '═' + CHAR_F_INNER_INTERSECT = '╬' + CHAR_F_INNER_VERTICAL = '║' + CHAR_F_OUTER_LEFT_INTERSECT = '╠' + CHAR_F_OUTER_LEFT_VERTICAL = '║' + CHAR_F_OUTER_RIGHT_INTERSECT = '╣' + CHAR_F_OUTER_RIGHT_VERTICAL = '║' + CHAR_H_INNER_HORIZONTAL = '═' + CHAR_H_INNER_INTERSECT = '╬' + CHAR_H_INNER_VERTICAL = '║' + CHAR_H_OUTER_LEFT_INTERSECT = '╠' + CHAR_H_OUTER_LEFT_VERTICAL = '║' + CHAR_H_OUTER_RIGHT_INTERSECT = '╣' + CHAR_H_OUTER_RIGHT_VERTICAL = '║' + CHAR_INNER_HORIZONTAL = '═' + CHAR_INNER_INTERSECT = '╬' + CHAR_INNER_VERTICAL = '║' + CHAR_OUTER_BOTTOM_HORIZONTAL = '═' + CHAR_OUTER_BOTTOM_INTERSECT = '╩' + CHAR_OUTER_BOTTOM_LEFT = '╚' + CHAR_OUTER_BOTTOM_RIGHT = '╝' + CHAR_OUTER_LEFT_INTERSECT = '╠' + CHAR_OUTER_LEFT_VERTICAL = '║' + CHAR_OUTER_RIGHT_INTERSECT = '╣' + CHAR_OUTER_RIGHT_VERTICAL = '║' + CHAR_OUTER_TOP_HORIZONTAL = '═' + CHAR_OUTER_TOP_INTERSECT = '╦' + CHAR_OUTER_TOP_LEFT = '╔' + CHAR_OUTER_TOP_RIGHT = '╗'