File: //usr/lib64/python3.6/__pycache__/poplib.cpython-36.pyc
3
  \t:  �            
   @   sl  d Z ddlZddlZddlZyddlZdZW n ek
rD   dZY nX ddgZG dd� de�Z	dZ
d	Zd
ZdZ
ee
 ZdZG d
d� d�Zer�G dd� de�Zejd� edk�rhddlZeejd �Zeej� � ejejd � ejejd � ej�  ej� \ZZxXeded �D ]FZ ej!e �\Z"Z#Z$ede  � xe#D ]Z%ede% � �q<W ed� �qW ej&�  dS )z@A POP3 client class.
Based on the J. Myers POP3 draft, Jan. 96
�    NTF�POP3�error_protoc               @   s   e Zd ZdS )r   N)�__name__�
__module__�__qualname__� r   r   �/usr/lib64/python3.6/poplib.pyr      s    �n   i�  �   
�   
i   c               @   s  e Zd ZdZdZeejfdd�Zdd� Z	dd� Z
d	d
� Zdd� Zd
d� Z
dd� Zdd� Zdd� Zdd� Zdd� Zdd� Zdd� Zdd� Zd=d d!�Zd"d#� Zd$d%� Zd&d'� Zd(d)� Zd*d+� Zd,d-� Zd.d/� Zejd0�Z d1d2� Z!d3d4� Z"d>d5d6�Z#d7d8� Z$d9d:� Z%d?d;d<�Z&dS )@r   aP  This class supports both the minimal and optional command sets.
    Arguments can be strings or integers (where appropriate)
    (e.g.: retr(1) and retr('1') both work equally well.
    Minimal Command Set:
            USER name               user(name)
            PASS string             pass_(string)
            STAT                    stat()
            LIST [msg]              list(msg = None)
            RETR msg                retr(msg)
            DELE msg                dele(msg)
            NOOP                    noop()
            RSET                    rset()
            QUIT                    quit()
    Optional Commands (some servers support these):
            RPOP name               rpop(name)
            APOP name digest        apop(name, digest)
            TOP msg n               top(msg, n)
            UIDL [msg]              uidl(msg = None)
            CAPA                    capa()
            STLS                    stls()
            UTF8                    utf8()
    Raises one exception: 'error_proto'.
    Instantiate with:
            POP3(hostname, port=110)
    NB:     the POP protocol locks the mailbox from user
            authorization until QUIT, so be sure to get in, suck
            the messages, and quit, each time you access the
            mailbox.
            POP is a line-based protocol, which means large mail
            messages consume lots of python cycles reading them
            line-by-line.
            If it's available on your mail server, use IMAP4
            instead, it doesn't suffer from the two problems
            above.
    zUTF-8c             C   s@   || _ || _d| _| j|�| _| jjd�| _d| _| j� | _	d S )NF�rbr   )
�host�port�_tls_established�_create_socket�sock�makefile�file�
_debugging�_getresp�welcome)�selfr
   r   �timeoutr   r   r   �__init__a   s    z
POP3.__init__c             C   s   t j| j| jf|�S )N)�socketZcreate_connectionr
   r   )r   r   r   r   r   r   k   s    zPOP3._create_socketc             C   s,   | j dkrtdt|�� | jj|t � d S )N�   z*put*)r   �print�reprr   Zsendall�CRLF)r   �liner   r   r   �_putlinen   s    
 z
POP3._putlinec             C   s.   | j rtdt|�� t|| j�}| j|� d S )Nz*cmd*)r   r   r   �bytes�encodingr    )r   r   r   r   r   �_putcmdu   s     zPOP3._putcmdc             C   s�   | j jtd �}t|�tkr$td��| jdkr<tdt|�� |sHtd��t|�}|dd � tkrp|d d� |fS |d d� t	kr�|dd� |fS |d d	� |fS )
Nr   z
line too longz*get*z-ERR EOF�   ���r%   ���r&