a
    t=ic	  ã                   @   sŠ   d Z ddlmZ ddlmZ ddlZddlZe d¡Ze 	d¡Z
e 	d	¡Ze 	d
¡Ze 	d¡ZG dd„ deƒZG dd„ deƒZdd„ ZdS )a¢  
Meta Data Extension for Python-Markdown
=======================================

This extension adds Meta Data handling to markdown.

See <https://Python-Markdown.github.io/extensions/meta_data>
for documentation.

Original code Copyright 2007-2008 [Waylan Limberg](http://achinghead.com).

All changes Copyright 2008-2014 The Python Markdown Project

License: [BSD](https://opensource.org/licenses/bsd-license.php)

é   )Ú	Extensioné   )ÚPreprocessoré    NÚMARKDOWNz1^[ ]{0,3}(?P<key>[A-Za-z0-9_-]+):\s*(?P<value>.*)z^[ ]{4,}(?P<value>.*)z^-{3}(\s.*)?z^(-{3}|\.{3})(\s.*)?c                   @   s    e Zd ZdZdd„ Zdd„ ZdS )ÚMetaExtensionz* Meta-Data extension for Python-Markdown. c                 C   s(   |  | ¡ || _|j t|ƒdd¡ dS )z, Add MetaPreprocessor to Markdown instance. Úmetaé   N)ZregisterExtensionÚmdÚpreprocessorsÚregisterÚMetaPreprocessor)Úselfr
   © r   úi/home/droni/.local/share/virtualenvs/DPS-5Je3_V2c/lib/python3.9/site-packages/markdown/extensions/meta.pyÚextendMarkdown#   s    
zMetaExtension.extendMarkdownc                 C   s   i | j _d S ©N)r
   ÚMeta)r   r   r   r   Úreset)   s    zMetaExtension.resetN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   r   r       s   r   c                   @   s   e Zd ZdZdd„ ZdS )r   z Get Meta-Data. c                 C   sò   i }d}|r$t  |d ¡r$| d¡ |ræ| d¡}t |¡}| ¡ dksæt |¡rTqæ|rª| d¡ ¡  ¡ }| d¡ ¡ }z||  |¡ W qä t	y¦   |g||< Y qä0 q$t
 |¡}|rÖ|rÖ||  | d¡ ¡ ¡ q$| d|¡ qæq$|| j_|S )z- Parse Meta-Data and store in Markdown.Meta. Nr   Ú ÚkeyÚvalue)ÚBEGIN_REÚmatchÚpopÚMETA_REÚstripÚEND_REÚgroupÚlowerÚappendÚKeyErrorÚMETA_MORE_REÚinsertr
   r   )r   Úlinesr   r   ÚlineÚm1r   Úm2r   r   r   Úrun0   s.    



zMetaPreprocessor.runN)r   r   r   r   r,   r   r   r   r   r   -   s   r   c                  K   s   t f i | ¤ŽS r   )r   )Úkwargsr   r   r   ÚmakeExtensionN   s    r.   )r   r   r   r   r   ÚreÚloggingÚ	getLoggerÚlogÚcompiler   r&   r   r!   r   r   r.   r   r   r   r   Ú<module>   s   




!