Source code for aisquared.config.rendering.HTMLTagRendering

from aisquared.base import BaseObject, DEFAULT_HTML_TAG_RENDERING_CSS, HTML_TAG_RENDERING_CSS_FILE
import platform
import json
import os


[docs]class HTMLTagRendering(BaseObject): """ Rendering for HTML tags Example usage: >>> import aisquared >>> my_obj = aisquared.config.rendering.HTMLTagRendering( 'my HTML tag', 'MyHTMLTagRenderingID', 'MyContainerID', '<p>Example Text</p>', 'extra_tag', 'append', 'name_key', 'value_key', 'name_value' ) >>> my_obj.to_dict() {'className': 'HTMLTagRendering', 'label': 'my HTML tag', 'params': {'id': 'MyHTMLTagRenderingID', 'containerId': 'MyContainerID', 'htmlContent': '<p>Example Text</p>', 'extraContentTag': 'extra_tag', 'injectionAction': 'append', 'predictionNameKey': 'name_key', 'predictionValueKey': 'value_key', 'predictionNameValue': 'name_value', 'content': ''}} """ def __init__( self, label: str, id: str, container_id: str, html_content: str, extra_content_tag: str, injection_action: str, prediction_name_key: str, prediction_value_key: str, prediction_name_value: str, content: str = '', css_params: dict = None ): """ Parameters ---------- label : str The label for the HTML tag id : str The ID for the HTML tag container_id : str The ID of the container html_content : str HTML to render extra_content_tag : str Any extra content tags to render injection_action : str The injection action prediction_name_key : str The key for the prediction name prediction_value_key : str The key for the prediction value prediction_name_values : str The value for the prediction name content : str (default '') The content css_params : dict or None (default None) Additional CSS parameters """ super().__init__() self.label = label self.id = id self.container_id = container_id self.html_content = html_content self.extra_content_tag = extra_content_tag self.injection_action = injection_action self.prediction_name_key = prediction_name_key self.prediction_value_key = prediction_value_key self.prediction_name_value = prediction_name_value self.content = content if css_params is None: if os.path.exists(HTML_TAG_RENDERING_CSS_FILE): with open(HTML_TAG_RENDERING_CSS_FILE, 'r') as f: self.css_params = json.load(f) else: self.css_params = DEFAULT_HTML_TAG_RENDERING_CSS else: if css_params.get('style'): self.css_params = css_params else: self.css_params = {'style': css_params}
[docs] def to_dict(self) -> dict: """ Return the configuration object as a dictionary """ return { 'className': 'HTMLTagRendering', 'label': self.label, 'params': { 'id': self.id, 'containerId': self.container_id, 'htmlContent': self.html_content, 'extraContentTag': self.extra_content_tag, 'injectionAction': self.injection_action, 'predictionNameKey': self.prediction_name_key, 'predictionValueKey': self.prediction_value_key, 'predictionNameValue': self.prediction_name_value, 'content': self.content, 'style': self.css_params['style'] } }