B
    fd                 @   sJ   d dl mZ d dlZd dlmZ ddlmZ ddlmZ G dd dZdS )	    )OptionalN)enums   )HTML)Markdownc               @   sL   e Zd Zed dddZdeeej dddZe	ee
ed	d
dZdS )Parserzpyrogram.Client)clientc             C   s   || _ t|| _t|| _d S )N)r   r   htmlr   markdown)selfr    r   :/tmp/pip-unpacked-wheel-rcokkf2l/pyrogram/parser/parser.py__init__   s    
zParser.__init__N)textmodec                s   t |r
|nd }|d kr4| jr,| jj}ntjj}|tjjkrR| j|I d H S |tjj	krr| j|dI d H S |tjj
kr| j|I d H S |tjjkr|d dS td| dd S )N T)messageentitieszInvalid parse mode "")strstripr   Z
parse_moder   	ParseModeDEFAULTr
   parseZMARKDOWNr   r	   ZDISABLED
ValueError)r   r   r   r   r   r   r   !   s    

zParser.parse)r   r   is_htmlc             C   s    |rt | |S t| |S d S )N)r   unparser   )r   r   r   r   r   r   r   8   s    zParser.unparse)N)__name__
__module____qualname__r   r   r   r   r   r   staticmethodlistboolr   r   r   r   r   r      s   r   )	typingr   Zpyrogramr   r	   r   r
   r   r   r   r   r   r   <module>   s
   