U
    muf                     @   s0   d dl Z ddlmZ G dd deZdd ZdS )    N   )DirectivePluginc                   @   s   e Zd Zdd Zdd ZdS )Includec              	   C   s<  |j d}|sdddS d}| |}|rFt|}d|krJ|d }ni }| |}tjtj||}	tj	|	}	|	|krdd| dS tj
|	sdd| dS t|	d	}
|
 }||}W 5 Q R X tj|d
 }|dkr| }|	|j d< || || |jS |dkr(d|dS |	|d< d||dS )N__file__Zblock_errorzMissing source file)typerawzutf-8encodingzCould not include self: zCould not find file: rbr   >   .mkd	.markdown.md>   .htm.html.xhtmlZ
block_htmlfilepathinclude)r   r   attrs)envgetZparse_optionsdictZparse_titleospathjoindirnamenormpathisfileopenreaddecodesplitextZ	state_clsprocessparsetokens)selfblockmstateZsource_filer   optionsr   relpathdestfcontentextZ	new_state r-   >/tmp/pip-unpacked-wheel-8p1ovdot/mistune/directives/include.pyr!      sL    









zInclude.parsec                 C   s2   | d| j |jr.|jjdkr.|j dt d S )Nr   html)registerr!   rendererNAMErender_html_include)r#   	directiveZmdr-   r-   r.   __call__:   s    zInclude.__call__N)__name__
__module____qualname__r!   r5   r-   r-   r-   r.   r      s   4r   c                 K   s   d| d S )Nz <pre class="directive-include">
z</pre>
r-   )r1   textr   r-   r-   r.   r3   @   s    r3   )r   _baser   r   r3   r-   r-   r-   r.   <module>   s   ;