File: //usr/lib64/python3.6/__pycache__/mailbox.cpython-36.opt-1.pyc
3
  \ 3 �               @   sR  d Z ddlZddlZddlZddlZddlZddlZddlZddlZddl	Zddl
ZddlZddlZyddl
Z
W n ek
r�   dZ
Y nX ddddddd	d
ddd
ddddddgZejjd�ZG dd� d�ZG dd� de�ZG dd� de�ZG dd� de�ZG dd� de�ZG dd� de�ZG dd� de�ZG dd� de�ZG dd	� d	ejj�ZG d d
� d
e�ZG d!d"� d"e�ZG d#d� de�ZG d$d� de�ZG d%d
� d
e�Z G d&d� de�Z!G d'd(� d(�Z"G d)d*� d*e"�Z#d=d,d-�Z$d.d/� Z%d0d1� Z&d2d3� Z'd4d5� Z(d6d7� Z)G d8d� de*�Z+G d9d� de+�Z,G d:d� de+�Z-G d;d� de+�Z.G d<d� de+�Z/dS )>zDRead/write support for Maildir, mbox, MH, Babyl, and MMDF mailboxes.�    N�Mailbox�Maildir�mbox�MH�Babyl�MMDF�Message�MaildirMessage�mboxMessage�	MHMessage�BabylMessage�MMDFMessage�Error�NoSuchMailboxError�
NotEmptyError�ExternalClashError�FormatError�asciic               @   s  e Zd ZdZdCdd�Zdd� Zdd	� Zd
d� Zdd
� Zdd� Z	dDdd�Z
dd� Zdd� Zdd� Z
dd� Zdd� Zdd� Zdd� Zd d!� Zd"d#� Zd$d%� Zd&d'� Zd(d)� Zd*d+� Zd,d-� Zd.d/� ZdEd0d1�Zd2d3� ZdFd4d5�Zd6d7� Zd8d9� Zd:d;� Zd<d=� Z d>d?� Z!d@Z"dGdAdB�Z#dS )Hr   z*A group of messages in a particular place.NTc             C   s    t jjt jj|��| _|| _dS )zInitialize a Mailbox instance.N)�os�path�abspath�
expanduser�_path�_factory)�selfr   �factory�create� r   �/usr/lib64/python3.6/mailbox.py�__init__$   s    zMailbox.__init__c             C   s   t d��dS )z$Add message and return assigned key.z&Method must be implemented by subclassN)�NotImplementedError)r   �messager   r   r   �add)   s    zMailbox.addc             C   s   t d��dS )z=Remove the keyed message; raise KeyError if it doesn't exist.z&Method must be implemented by subclassN)r    )r   �keyr   r   r   �remove-   s    zMailbox.removec             C   s   | j |� d S )N)r$   )r   r#   r   r   r   �__delitem__1   s    zMailbox.__delitem__c             C   s(   y| j |� W n tk
r"   Y nX dS )z'If the keyed message exists, remove it.N)r$   �KeyError)r   r#   r   r   r   �discard4   s    zMailbox.discardc             C   s   t d��dS )z>Replace the keyed message; raise KeyError if it doesn't exist.z&Method must be implemented by subclassN)r    )r   r#   r!   r   r   r   �__setitem__;   s    zMailbox.__setitem__c             C   s$   y
| j |�S  tk
r   |S X dS )z9Return the keyed message, or default if it doesn't exist.N)�__getitem__r&