a
    Cg                     @   s   d dl Z d dlmZ d dlmZmZ d dlmZmZm	Z	 zd dl
mZ eddZW n eyd   Y n0 e dZe d	ZG d
d deZdS )    N)Optional)Attr	DOMEngine)HTMLElementTagBeautifulSoup html5libz</?(fragment|body|html|head)>z</?(body|html|head)>c                   @   s~   e Zd ZdZedeee edddZ	ee
edddZeeedd	d
dZeee
dddZeee
dddZdS )DOM_HTML5LIBz1
    html5lib implementation of the DOM API.
    N)type_attrreturnc                 C   s   |si }t j| fi |S N)soupZnew_tag)r   r    r   `/var/www/lab.imftr.de/x/nb_venv/lib/python3.9/site-packages/draftjs_exporter/engines/html5lib.py
create_tag   s    zDOM_HTML5LIB.create_tag)markupr   c                 C   s
   t | dS )Nr   r   )r   r   r   r   
parse_html   s    zDOM_HTML5LIB.parse_html)eltchildr   c                 C   s   |  | d S r   )append)r   r   r   r   r   append_child#   s    zDOM_HTML5LIB.append_child)r   r   c                 C   s   t dt| S Nr
   )	RENDER_REsubstrr   r   r   r   render'   s    zDOM_HTML5LIB.renderc                 C   s   t dt| S r   )RENDER_DEBUG_REr   r   r   r   r   r   render_debug+   s    zDOM_HTML5LIB.render_debug)N)__name__
__module____qualname____doc__staticmethodr   r   r   r   r   r   r   r   r    r"   r   r   r   r   r      s   r   )retypingr   Zdraftjs_exporter.engines.baser   r   Zdraftjs_exporter.typesr   r   r   Zbs4r	   r   ImportErrorcompiler   r!   r   r   r   r   r   <module>   s   

