o
    tf                     @   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   sL  |j d}|sdddS d}| |}|r#t|}d|v r"|d }ni }| |}tjtj||}	tj	|	}	|	|krFdd| dS tj
|	sSdd| dS t|	d	}
|
 }||}W d    n1 slw   Y  tj|d
 }|dv r| }|	|j d< || || |jS |dv rd|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   >   z	.markdownz.mkdz.md>   z.htmz.htmlz.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ext	new_state r(   c/var/www/html/software/conda/envs/catlas/lib/python3.10/site-packages/mistune/directives/include.pyr      sP   






zInclude.parsec                 C   s:   | d| j |jr|jjdkr|j dt d S d S d S )Nr   html)registerr   rendererNAMErender_html_include)r   	directivemdr(   r(   r)   __call__:   s   zInclude.__call__N)__name__
__module____qualname__r   r1   r(   r(   r(   r)   r      s    4r   c                 K   s   d| d S )Nz <pre class="directive-include">
z</pre>
r(   )r,   textr   r(   r(   r)   r.   @   s   r.   )r   _baser   r   r.   r(   r(   r(   r)   <module>   s    ;