Source code for tablate.library.renderers.console.frames.render_console_frame_grid
from tablate.library.ascii.chars.line_v import v_line
from tablate.library.checkers.is_last_element import is_last_element
from tablate.library.formatters.console.cell_string import cell_string_single_line, cell_string_multi_line
from tablate.library.renderers.console.frames.render_console_columns import column_console_multiline
from tablate.library.formatters.console.row_outer_border import row_outer_border
from tablate.type.type_store import GridFrameStore
from tablate.type.type_global import Globals
[docs]
def render_console_single_line_grid(grid_frame_dict: GridFrameStore, global_options: Globals):
grid_line_string = ""
for column_index, column_item in enumerate(grid_frame_dict.column_list):
grid_line_string += cell_string_single_line(string=column_item["string"],
column_item=column_item,
column_styles=grid_frame_dict.column_styles,
trunc_value=grid_frame_dict.frame_styles.trunc_value)
if not is_last_element(column_index, grid_frame_dict.column_list):
grid_line_string += v_line[column_item["divider"]]
return row_outer_border(row_string=grid_line_string, global_options=global_options)
[docs]
def render_console_multi_line_grid(grid_frame_dict: GridFrameStore, global_options: Globals):
formatted_columns_array = []
for column_item in grid_frame_dict.column_list:
column_string_array = cell_string_multi_line(string=column_item["string"],
column_item=column_item,
column_styles=grid_frame_dict.column_styles,
trunc_value=grid_frame_dict.frame_styles.trunc_value,
max_lines=grid_frame_dict.frame_styles.max_lines)
formatted_columns_array.append(column_string_array)
return column_console_multiline(formatted_columns_array=formatted_columns_array,
frame_dict=grid_frame_dict,
global_options=global_options)