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' diff --git a/terminaltables/unicode_tables.py b/terminaltables/unicode_tables.py new file mode 100644 index 0000000..d63497f --- /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 = '╗'