def __init__(self, features=None): self.features = features self.html_to_contentstate_handler = HtmlToContentStateHandler(features) exporter_config = { 'block_map': { 'unstyled': 'p', 'atomic': render_children, 'fallback': block_fallback, }, 'style_map': {}, 'entity_decorators': { 'FALLBACK': entity_fallback, }, 'composite_decorators': [ { 'strategy': re.compile(r'\n'), 'component': br, }, ], 'engine': DOM.STRING, } for feature in self.features: rule = feature_registry.get_converter_rule('contentstate', feature) if rule is not None: feature_config = rule['to_database_format'] exporter_config['block_map'].update(feature_config.get('block_map', {})) exporter_config['style_map'].update(feature_config.get('style_map', {})) exporter_config['entity_decorators'].update(feature_config.get('entity_decorators', {})) self.exporter = HTMLExporter(exporter_config)
def __init__(self, attrs=None, **kwargs): super(TinyMCERichTextArea, self).__init__(attrs) self.kwargs = self.getDefaultArgs() if kwargs is not None: self.kwargs.update(kwargs) features = feature_registry.get_default_features() self.converter_rules = [] for feature in features: rule = feature_registry.get_converter_rule('editorhtml', feature) if rule is not None: self.converter_rules.extend(rule)
def __init__(self, features=None): if features is None: features = feature_registry.get_default_features() self.converter_rules = [] for feature in features: rule = feature_registry.get_converter_rule('editorhtml', feature) if rule is not None: # rule should be a list of WhitelistRule() instances - append this to # the master converter_rules list self.converter_rules.extend(rule)
def __init__(self, features=()): self.paragraph_handler = BlockElementHandler('unstyled') self.element_handlers = HTMLRuleset({ 'p': self.paragraph_handler }) for feature in features: rule = feature_registry.get_converter_rule('contentstate', feature) if rule is not None: self.element_handlers.add_rules(rule['from_database_format']) super().__init__()
def __init__(self, features=()): self.paragraph_handler = BlockElementHandler('unstyled') self.element_handlers = HTMLRuleset({ 'p': self.paragraph_handler, 'br': LineBreakHandler(), }) for feature in features: rule = feature_registry.get_converter_rule('contentstate', feature) if rule is not None: self.element_handlers.add_rules(rule['from_database_format']) super().__init__(convert_charrefs=True)
def __init__(self, features=()): self.paragraph_handler = BlockElementHandler("unstyled") self.element_handlers = HTMLRuleset( { "p": self.paragraph_handler, "br": LineBreakHandler(), } ) for feature in features: rule = feature_registry.get_converter_rule("contentstate", feature) if rule is not None: self.element_handlers.add_rules(rule["from_database_format"]) super().__init__(convert_charrefs=True)
def __init__(self, features=None): self.features = features self.html_to_contentstate_handler = HtmlToContentStateHandler(features) exporter_config = { "block_map": { "unstyled": persist_key_for_block("p"), "atomic": render_children, "fallback": block_fallback, }, "style_map": { "FALLBACK": style_fallback, }, "entity_decorators": { "FALLBACK": entity_fallback, }, "composite_decorators": [ { "strategy": re.compile(r"\n"), "component": br, }, ], "engine": DOM.STRING, } for feature in self.features: rule = feature_registry.get_converter_rule("contentstate", feature) if rule is not None: feature_config = rule["to_database_format"] exporter_config["block_map"].update( { block_type: persist_key_for_block(config) for block_type, config in feature_config.get( "block_map", {} ).items() } ) exporter_config["style_map"].update(feature_config.get("style_map", {})) exporter_config["entity_decorators"].update( feature_config.get("entity_decorators", {}) ) self.exporter = HTMLExporter(exporter_config)