B
    Ad                 @   sV   d Z ddlZyddlmZ W n  ek
r<   ddlmZ Y nX G dd deZeZdS )z/
Created : 2021-07-30

@author: Eric Lapouyade
    N)escapec               @   s<   e Zd ZdZdddZdddZdd	 Zd
d Zdd ZdS )RichTextz class to generate Rich Text when using templates variables

    This is much faster than using Subdoc class,
    but this only for texts INSIDE an existing paragraph.
    Nc             K   s   d| _ |r| j|f| d S )N )xmladd)selftextZ	text_prop r	   B/var/www/html/venv/lib/python3.7/site-packages/docxtpl/richtext.py__init__   s    zRichText.__init__Fc             C   s  t |tr|  j|j7  _d S t |tjtjfs:t|}t |tjsT|jddd}t|}d}|rp|d| 7 }|r|d dkr|dd  }|d	| 7 }|r|d dkr|dd  }|d
| 7 }|r|d| 7 }|d| 7 }|r|d7 }|r|d7 }|r|d7 }|	r|d7 }|
r0|
dkr$d}
|d|
 7 }|r>|d7 }|rd}d|krp|dd\}}dj	||d}|dj	||d7 }d}|r|d| 7 }|d| 7 }|rd||f }|  j|7  _d S )Nzutf-8ignore)errorsr   z<w:rStyle w:val="%s"/>r   #   z<w:color w:val="%s"/>z<w:shd w:fill="%s"/>z<w:sz w:val="%s"/>z<w:szCs w:val="%s"/>z <w:vertAlign w:val="subscript"/>z"<w:vertAlign w:val="superscript"/>z<w:b/>z<w:i/>)singledoubleZthickZdotteddashZdotDashZ
dotDotDashwaver   z<w:u w:val="%s"/>z<w:strike/>:z w:{region}="{font}")fontregionzJ<w:rFonts w:ascii="{font}" w:hAnsi="{font}" w:cs="{font}"{regional_font}/>)r   regional_fontz<w:r>z<w:rPr>%s</w:rPr>z(<w:t xml:space="preserve">%s</w:t></w:r>z;<w:hyperlink r:id="%s" w:tgtFrame="_blank">%s</w:hyperlink>)

isinstancer   r   six	text_typebinary_typedecoder   splitformat)r   r   stylecolor	highlightsizeZ	subscriptZsuperscriptbolditalic	underlinestriker   Zurl_idpropr   r   r   r	   r	   r
   r      sh    




zRichText.addc             C   s   | j S )N)r   )r   r	   r	   r
   __unicode__d   s    zRichText.__unicode__c             C   s   | j S )N)r   )r   r	   r	   r
   __str__g   s    zRichText.__str__c             C   s   | j S )N)r   )r   r	   r	   r
   __html__j   s    zRichText.__html__)N)NNNNNNFFFFNN)	__name__
__module____qualname____doc__r   r   r(   r)   r*   r	   r	   r	   r
   r      s"   
           
>r   )	r.   r   htmlr   ImportErrorcgiobjectr   Rr	   r	   r	   r
   <module>   s   _