B
    sG_                 @   s|   d dddddgZ ddlmZmZ ddlmZmZ dd	lmZ G d
d  d Z	G dd de	Z
G dd dZG dd deZdS )ParserHeaderParserBytesParserBytesHeaderParser
FeedParserBytesFeedParser    )StringIOTextIOWrapper)r   r   )compat32c               @   s0   e Zd Zd
edddZdddZddd	ZdS )r   N)policyc            C   s   || _ || _d S )N)_classr   )selfr   r    r   ./opt/hscpipe/8.4/lib/python3.7/email/parser.py__init__   s    zParser.__init__Fc             C   sD   t | j| jd}|r|  x|d}|s.P || qW | S )N)r   i    )r   r   r   Z_set_headersonlyreadZfeedclose)r   fpheadersonlyZ
feedparserdatar   r   r   parse)   s    
zParser.parsec             C   s   | j t||dS )N)r   )r   r   )r   textr   r   r   r   parsestr;   s    zParser.parsestr)N)F)F)__name__
__module____qualname__r
   r   r   r   r   r   r   r   r      s   
c               @   s    e Zd ZdddZdddZdS )	r   Tc             C   s   t | |dS )NT)r   r   )r   r   r   r   r   r   r   H   s    zHeaderParser.parsec             C   s   t | |dS )NT)r   r   )r   r   r   r   r   r   r   K   s    zHeaderParser.parsestrN)T)T)r   r   r   r   r   r   r   r   r   r   G   s   
c               @   s(   e Zd Zdd Zd	ddZd
ddZdS )r   c             O   s   t ||| _d S )N)r   parser)r   argskwr   r   r   r   Q   s    zBytesParser.__init__Fc             C   s,   t |ddd}z| j||S |  X d S )Nasciisurrogateescape)encodingerrors)r	   r   r   detach)r   r   r   r   r   r   r   c   s    zBytesParser.parsec             C   s   |j ddd}| j||S )NASCIIr    )r"   )decoder   r   )r   r   r   r   r   r   
parsebytesr   s    zBytesParser.parsebytesN)F)F)r   r   r   r   r   r&   r   r   r   r   r   O   s   
c               @   s    e Zd ZdddZdddZdS )	r   Tc             C   s   t j| |ddS )NT)r   )r   r   )r   r   r   r   r   r   r      s    zBytesHeaderParser.parsec             C   s   t j| |ddS )NT)r   )r   r&   )r   r   r   r   r   r   r&      s    zBytesHeaderParser.parsebytesN)T)T)r   r   r   r   r&   r   r   r   r   r   ~   s   
N)__all__ior   r	   Zemail.feedparserr   r   Zemail._policybaser
   r   r   r   r   r   r   r   r   <module>   s   7/