From a58bb9cca86ee63570ba0d19e0723b63ae918383 Mon Sep 17 00:00:00 2001 From: Kevin Li Date: Mon, 6 Feb 2017 15:02:18 -0500 Subject: [PATCH 1/3] 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 0000000..3bfa422 --- /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 = '╗' From 5a827733c164aa33ac6d085019bb342cdfb9c11b Mon Sep 17 00:00:00 2001 From: Bob Whitelock Date: Sat, 27 May 2017 19:41:09 +0100 Subject: [PATCH 2/3] Add import lines for Unicode tables So can be imported in the same way as the other table types; as requested in https://github.com/Robpol86/terminaltables/pull/42. --- terminaltables/__init__.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/terminaltables/__init__.py b/terminaltables/__init__.py index 6cea813..b4984be 100644 --- a/terminaltables/__init__.py +++ b/terminaltables/__init__.py @@ -11,6 +11,8 @@ from terminaltables.other_tables import DoubleTable # noqa from terminaltables.other_tables import SingleTable # noqa from terminaltables.other_tables import PorcelainTable # noqa +from terminaltables.unicode_tables import UnicodeSingleTable # noqa +from terminaltables.unicode_tables import UnicodeDoubleTable # noqa __author__ = '@Robpol86' __license__ = 'MIT' From 6eeb4105a7b117e83a1b266b5a815a991862a65f Mon Sep 17 00:00:00 2001 From: Bob Whitelock Date: Sat, 27 May 2017 19:43:43 +0100 Subject: [PATCH 3/3] Adjust Unicode tables to be PEP8-compliant As requested in https://github.com/Robpol86/terminaltables/pull/42. --- terminaltables/unicode_tables.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/terminaltables/unicode_tables.py b/terminaltables/unicode_tables.py index 3bfa422..d63497f 100644 --- a/terminaltables/unicode_tables.py +++ b/terminaltables/unicode_tables.py @@ -2,9 +2,9 @@ from terminaltables.ascii_table import AsciiTable + class UnicodeSingleTable(AsciiTable): - """Draw a table using box-drawing characters. - """ + """Draw a table using box-drawing characters.""" CHAR_F_INNER_HORIZONTAL = '─' CHAR_F_INNER_INTERSECT = '┼' CHAR_F_INNER_VERTICAL = '│' @@ -35,9 +35,9 @@ class UnicodeSingleTable(AsciiTable): CHAR_OUTER_TOP_LEFT = '┌' CHAR_OUTER_TOP_RIGHT = '┐' + class UnicodeDoubleTable(AsciiTable): - """Draw a table using double lined box-drawing characters. - """ + """Draw a table using double lined box-drawing characters.""" CHAR_F_INNER_HORIZONTAL = '═' CHAR_F_INNER_INTERSECT = '╬' CHAR_F_INNER_VERTICAL = '║'