Source code for tablate.classes.bases.TablateSet

from copy import deepcopy
from typing import List

from tablate.classes.bases.TablateApiSet import TablateApiSet
from tablate.library.calcs.gen_frame_name import gen_frame_name
from tablate.type.primitives import ContainerBorder, ContainerPadding, ContainerWidth, FrameDivider, Background, BackgroundPadding, \
    HtmlPxMultiplier
from tablate.type.type_input import HtmlContainerStylesInput, ColumnStylesInput, TextStylesInput, HtmlFrameStylesInput, \
    HtmlColumnStylesInput, HtmlTextStylesInput
from tablate.type.type_store import FrameDictList


[docs] class TablateSet(TablateApiSet): def __init__(self, frame_list: List[FrameDictList], container_border: ContainerBorder = None, container_padding: ContainerPadding = None, container_width: ContainerWidth = None, frame_divider: FrameDivider = None, background: Background = None, background_padding: BackgroundPadding = None, html_px_multiplier: HtmlPxMultiplier = None, html_container_styles: HtmlContainerStylesInput = None, column_styles: ColumnStylesInput = None, text_styles: TextStylesInput = None, html_frame_styles: HtmlFrameStylesInput = None, html_column_styles: HtmlColumnStylesInput = None, html_text_styles: HtmlTextStylesInput = None): super().__init__(container_border=container_border, container_padding=container_padding, container_width=container_width, frame_divider=frame_divider, background=background, background_padding=background_padding, html_px_multiplier=html_px_multiplier, html_container_styles=html_container_styles, column_styles=column_styles, text_styles=text_styles, html_frame_styles=html_frame_styles, html_column_styles=html_column_styles, html_text_styles=html_text_styles) for frame_set in frame_list: for frame_key, frame_item in frame_set.items(): name = gen_frame_name(name=frame_key, type=frame_item.type, frame_dict=self._frame_list, ensure_unique=True) frame_item.name = name frame_item.args["name"] = name self._frame_list[name] = deepcopy(frame_item)