Source code for tablate.library.initializers.mappers.element.html.html_text_mapper

from tablate.library.checkers.set_attr_resolver import set_attr_resolver
from tablate.library.formatters.html.style.attributes.color import text_color_attr
from tablate.type.defaults import text_style_default, text_align_default, text_color_default, html_text_size_default, \
    html_px_multiplier_default
from tablate.type.primitives import HtmlPxMultiplier
from tablate.type.type_style import HtmlTextStyles, TextStyles


[docs] def html_text_mapper(html_text_input: HtmlTextStyles = None, html_text_defaults: HtmlTextStyles = None, base_text_defaults: TextStyles = None) -> HtmlTextStyles: if html_text_input is None: html_text_input = HtmlTextStyles() html_text_style = set_attr_resolver( instance=html_text_input, attr="html_text_style", default=set_attr_resolver( instance=html_text_defaults, attr="html_text_style", default=set_attr_resolver( instance=base_text_defaults, attr="text_style", default=text_style_default))) html_text_align = set_attr_resolver( instance=html_text_input, attr="html_text_align", default=set_attr_resolver( instance=html_text_defaults, attr="html_text_align", default=set_attr_resolver( instance=base_text_defaults, attr="text_align", default=text_align_default))) html_text_color = set_attr_resolver( instance=html_text_input, attr="html_text_color", default=set_attr_resolver( instance=html_text_defaults, attr="html_text_color", default=text_color_attr(set_attr_resolver( instance=base_text_defaults, attr="text_color", default=text_color_default)))) html_text_size = set_attr_resolver( instance=html_text_input, attr="html_text_size", default=set_attr_resolver( instance=html_text_defaults, attr="html_text_size", default=html_text_size_default)) text_return = HtmlTextStyles(html_text_style=html_text_style, html_text_align=html_text_align, html_text_color=html_text_color, html_text_size=html_text_size) return text_return