???<!-- GIF89;a -->
123123123123
.....................................................................................................................................???<!-- GIF89;a -->
123123123123
.....................................................................................................................................ž
«ÿfõ4 c               @   sT  d  Z  d d l Z d d l Z d d l Z d d l Z d d l Z d d l Z d d l Z d d l Z d d l	 Z	 d d l
 Z	 d d l Z	 d d l Z d d l Z y( e j d k r½ e ‚ n  d d l Z Wn e k
 rä e Z Yn Xd d d d d d	 d
 d d d d d g Z e j j d ƒ Z Gd d „  d ƒ Z Gd d „  d e ƒ Z Gd d „  d e ƒ Z Gd d „  d e ƒ Z Gd d „  d e ƒ Z Gd d	 „  d	 e ƒ Z Gd d „  d e ƒ Z Gd d „  d e ƒ Z Gd d
 „  d
 e	 j j ƒ Z Gd d „  d e ƒ Z Gd d „  d e ƒ Z  Gd d „  d e  ƒ Z! Gd  d „  d e ƒ Z" Gd! d „  d e ƒ Z# Gd" d „  d e  ƒ Z$ Gd# d$ „  d$ ƒ Z% Gd% d& „  d& e% ƒ Z& e' d' d( „ Z( d) d* „  Z) d+ d, „  Z* d- d. „  Z+ d/ d0 „  Z, d1 d2 „  Z- Gd3 d4 „  d4 e. ƒ Z/ Gd5 d6 „  d6 e/ ƒ Z0 Gd7 d8 „  d8 e/ ƒ Z1 Gd9 d: „  d: e/ ƒ Z2 Gd; d< „  d< e/ ƒ Z3 d S(=   uD   Read/write support for Maildir, mbox, MH, Babyl, and MMDF mailboxes.i    Nu   os2emxu   Mailboxu   Maildiru   mboxu   MHu   Babylu   MMDFu   Messageu   MaildirMessageu   mboxMessageu	   MHMessageu   BabylMessageu   MMDFMessageu   asciic             B   s¦  |  Ee  Z d  Z d Z d@ dA d d „ Z d d „  Z d d „  Z d d	 „  Z	 d
 d „  Z
 d d „  Z d@ d d „ Z d d „  Z d d „  Z d d „  Z d d „  Z d d „  Z d d „  Z d d „  Z d d „  Z d  d! „  Z d" d# „  Z d$ d% „  Z d& d' „  Z d( d) „  Z d* d+ „  Z d, d- „  Z d@ d. d/ „ Z d0 d1 „  Z d@ d2 d3 „ Z d4 d5 „  Z d6 d7 „  Z  d8 d9 „  Z! d: d; „  Z" d< d= „  Z# dB Z% dB d> d? „ Z& d@ S(C   u   Mailboxu*   A group of messages in a particular place.c             C   s.   t  j j t  j j | ƒ ƒ |  _ | |  _ d S(   u   Initialize a Mailbox instance.N(   u   osu   pathu   abspathu
   expanduseru   _pathu   _factory(   u   selfu   pathu   factoryu   create(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   __init__'   s    !u   Mailbox.__init__c             C   s   t  d ƒ ‚ d S(   u$   Add message and return assigned key.u&   Method must be implemented by subclassN(   u   NotImplementedError(   u   selfu   message(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   add,   s    u   Mailbox.addc             C   s   t  d ƒ ‚ d S(   u=   Remove the keyed message; raise KeyError if it doesn't exist.u&   Method must be implemented by subclassN(   u   NotImplementedError(   u   selfu   key(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   remove0   s    u   Mailbox.removec             C   s   |  j  | ƒ d  S(   N(   u   remove(   u   selfu   key(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   __delitem__4   s    u   Mailbox.__delitem__c             C   s*   y |  j  | ƒ Wn t k
 r% Yn Xd S(   u'   If the keyed message exists, remove it.N(   u   removeu   KeyError(   u   selfu   key(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   discard7   s    u   Mailbox.discardc             C   s   t  d ƒ ‚ d S(   u>   Replace the keyed message; raise KeyError if it doesn't exist.u&   Method must be implemented by subclassN(   u   NotImplementedError(   u   selfu   keyu   message(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   __setitem__>   s    u   Mailbox.__setitem__c             C   s.   y |  j  | ƒ SWn t k
 r) | SYn Xd S(   u9   Return the keyed message, or default if it doesn't exist.N(   u   __getitem__u   KeyError(   u   selfu   keyu   default(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   getB   s    u   Mailbox.getc          	   C   sH   |  j  s |  j | ƒ St j |  j | ƒ ƒ  } |  j  | ƒ SWd QXd S(   u=   Return the keyed message; raise KeyError if it doesn't exist.N(   u   _factoryu   get_messageu
   contextlibu   closingu   get_file(   u   selfu   keyu   file(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   __getitem__I   s    	u   Mailbox.__getitem__c             C   s   t  d ƒ ‚ d S(   u4   Return a Message representation or raise a KeyError.u&   Method must be implemented by subclassN(   u   NotImplementedError(   u   selfu   key(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   get_messageQ   s    u   Mailbox.get_messagec             C   s   t  j |  j | ƒ ƒ j ƒ  S(   uœ   Return a string representation or raise a KeyError.

        Uses email.message.Message to create a 7bit clean string
        representation of the message.(   u   emailu   message_from_bytesu	   get_bytesu	   as_string(   u   selfu   key(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu
   get_stringU   s    u   Mailbox.get_stringc             C   s   t  d ƒ ‚ d S(   u8   Return a byte string representation or raise a KeyError.u&   Method must be implemented by subclassN(   u   NotImplementedError(   u   selfu   key(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu	   get_bytes\   s    u   Mailbox.get_bytesc             C   s   t  d ƒ ‚ d S(   u6   Return a file-like representation or raise a KeyError.u&   Method must be implemented by subclassN(   u   NotImplementedError(   u   selfu   key(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   get_file`   s    u   Mailbox.get_filec             C   s   t  d ƒ ‚ d S(   u   Return an iterator over keys.u&   Method must be implemented by subclassN(   u   NotImplementedError(   u   self(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   iterkeysd   s    u   Mailbox.iterkeysc             C   s   t  |  j ƒ  ƒ S(   u   Return a list of keys.(   u   listu   iterkeys(   u   self(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   keysh   s    u   Mailbox.keysc             c   sF   x? |  j  ƒ  D]1 } y |  | } Wn t k
 r8 w Yn X| Vq Wd S(   u%   Return an iterator over all messages.N(   u   keysu   KeyError(   u   selfu   keyu   value(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu
   itervaluesl   s    u   Mailbox.itervaluesc             C   s
   |  j  ƒ  S(   N(   u
   itervalues(   u   self(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   __iter__u   s    u   Mailbox.__iter__c             C   s   t  |  j ƒ  ƒ S(   u,   Return a list of messages. Memory intensive.(   u   listu
   itervalues(   u   self(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   valuesx   s    u   Mailbox.valuesc             c   sL   xE |  j  ƒ  D]7 } y |  | } Wn t k
 r8 w Yn X| | f Vq Wd S(   u.   Return an iterator over (key, message) tuples.N(   u   keysu   KeyError(   u   selfu   keyu   value(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu	   iteritems|   s    u   Mailbox.iteritemsc             C   s   t  |  j ƒ  ƒ S(   u9   Return a list of (key, message) tuples. Memory intensive.(   u   listu	   iteritems(   u   self(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   items…   s    u   Mailbox.itemsc             C   s   t  d ƒ ‚ d S(   u9   Return True if the keyed message exists, False otherwise.u&   Method must be implemented by subclassN(   u   NotImplementedError(   u   selfu   key(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   __contains__‰   s    u   Mailbox.__contains__c             C   s   t  d ƒ ‚ d S(   u*   Return a count of messages in the mailbox.u&   Method must be implemented by subclassN(   u   NotImplementedError(   u   self(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   __len__   s    u   Mailbox.__len__c             C   s(   x! |  j  ƒ  D] } |  j | ƒ q Wd S(   u   Delete all messages.N(   u   keysu   discard(   u   selfu   key(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   clear‘   s    u   Mailbox.clearc             C   s8   y |  | } Wn t  k
 r& | SYn X|  j | ƒ | S(   u3   Delete the keyed message and return it, or default.(   u   KeyErroru   discard(   u   selfu   keyu   defaultu   result(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   pop–   s    	u   Mailbox.popc             C   s7   x0 |  j  ƒ  D] } | |  j | ƒ f SWt d ƒ ‚ d S(   u6   Delete an arbitrary (key, message) pair and return it.u   No messages in mailboxN(   u   keysu   popu   KeyError(   u   selfu   key(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   popitemŸ   s    u   Mailbox.popitemc             C   s¡   t  | d ƒ r | j ƒ  } n$ t  | d ƒ r< | j ƒ  } n | } d } x= | D]5 \ } } y | |  | <WqO t k
 rƒ d } YqO XqO W| r t d ƒ ‚ n  d S(   u4   Change the messages that correspond to certain keys.u	   iteritemsu   itemsu   No message with key(s)NFT(   u   hasattru   itemsu   Falseu   KeyErroru   True(   u   selfu   argu   sourceu   bad_keyu   keyu   message(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   update¦   s    u   Mailbox.updatec             C   s   t  d ƒ ‚ d S(   u&   Write any pending changes to the disk.u&   Method must be implemented by subclassN(   u   NotImplementedError(   u   self(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   flush·   s    u   Mailbox.flushc             C   s   t  d ƒ ‚ d S(   u   Lock the mailbox.u&   Method must be implemented by subclassN(   u   NotImplementedError(   u   self(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   lock»   s    u   Mailbox.lockc             C   s   t  d ƒ ‚ d S(   u#   Unlock the mailbox if it is locked.u&   Method must be implemented by subclassN(   u   NotImplementedError(   u   self(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   unlock¿   s    u   Mailbox.unlockc             C   s   t  d ƒ ‚ d S(   u   Flush and close the mailbox.u&   Method must be implemented by subclassN(   u   NotImplementedError(   u   self(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   closeÃ   s    u   Mailbox.closec             C   s6   y | j  d ƒ SWn t k
 r1 t d ƒ ‚ Yn Xd  S(   Nu   asciiu?   String input must be ASCII-only; use bytes or a Message instead(   u   encodeu   UnicodeErroru
   ValueError(   u   selfu   message(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   _string_to_bytesÇ   s    u   Mailbox._string_to_bytesc       	      C   sÈ  t  | t j j ƒ rª t j ƒ  } t j j | | d ƒ } | j | ƒ | j	 d ƒ | j
 ƒ  } | j d t ƒ } | j | ƒ |  j rÄ| j t ƒ rÄ| j t ƒ qÄnt  | t t t j f ƒ r€t  | t j ƒ rù t j d t d ƒ | j ƒ  } n  t  | t ƒ r|  j | ƒ } n  | r5| j d d ƒ } n  | j d t ƒ } | j | ƒ |  j rÄ| j t ƒ rÄ| j t ƒ qÄnDt | d ƒ r®t | d ƒ r½t j d	 t d ƒ | j } n  d } x¶ | j ƒ  } | j d
 ƒ rø| d d … d } n& | j d ƒ r| d d … d } n  | s(Pn  | rT| j d ƒ rTd | d d … } n  | j d t ƒ } | j | ƒ | } qÆ|  j rÄ| rÄ| j t ƒ rÄ| j t ƒ qÄn t d t | ƒ ƒ ‚ d S(   u%   Dump message contents to target file.i    s   
u8   Use of StringIO input is deprecated, use BytesIO insteadi   s   
From s   
>From u   readu   bufferuD   Use of text mode files is deprecated, use a binary mode file insteads   
Ni   s   i   s   From s   >From i   u   Invalid message type: %siþÿÿÿiÿÿÿÿ(   u
   isinstanceu   emailu   messageu   Messageu   iou   BytesIOu	   generatoru   BytesGeneratoru   flattenu   seeku   readu   replaceu   linesepu   writeu   _append_newlineu   endswithu   stru   bytesu   StringIOu   warningsu   warnu   DeprecationWarningu   getvalueu   _string_to_bytesu   hasattru   bufferu   Noneu   readlineu
   startswithu	   TypeErroru   type(	   u   selfu   messageu   targetu   mangle_from_u   bufferu   genu   datau   lastlineu   line(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   _dump_messageÔ   sZ    	
	
	u   Mailbox._dump_messageNTF('   u   __name__u
   __module__u   __qualname__u   __doc__u   Noneu   Trueu   __init__u   addu   removeu   __delitem__u   discardu   __setitem__u   getu   __getitem__u   get_messageu
   get_stringu	   get_bytesu   get_fileu   iterkeysu   keysu
   itervaluesu   __iter__u   valuesu	   iteritemsu   itemsu   __contains__u   __len__u   clearu   popu   popitemu   updateu   flushu   locku   unlocku   closeu   _string_to_bytesu   Falseu   _append_newlineu   _dump_message(   u
   __locals__(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   Mailbox$   sB   			c             B   sL  |  Ee  Z d  Z d Z d Z d4 d5 d d „ Z d d „  Z d d „  Z	 d	 d
 „  Z
 d d „  Z d d „  Z d d „  Z d d „  Z d d „  Z d d „  Z d d „  Z d d „  Z d d „  Z d d „  Z d d  „  Z d! d" „  Z d# d$ „  Z d% d& „  Z d' d( „  Z d) d* „  Z d+ Z d, d- „  Z d. d/ „  Z d0 d1 „  Z d2 d3 „  Z d4 S(6   u   Maildiru   A qmail-style Maildir mailbox.u   :c             C   s  t  j |  | | | ƒ i t j j |  j d ƒ d 6t j j |  j d ƒ d 6t j j |  j d ƒ d 6|  _ t j j |  j ƒ s× | rÅ t j |  j d ƒ x9 |  j j	 ƒ  D] } t j | d ƒ q¨ Wq× t
 |  j ƒ ‚ n  i  |  _ i d d 6d d 6|  _ d |  _ d |  _ d S(   u   Initialize a Maildir instance.u   tmpu   newu   curiÀ  i    gš™™™™™¹?N(   u   Mailboxu   __init__u   osu   pathu   joinu   _pathu   _pathsu   existsu   mkdiru   valuesu   NoSuchMailboxErroru   _tocu   _toc_mtimesu
   _last_readu   _skewfactor(   u   selfu   dirnameu   factoryu   createu   path(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   __init__  s    		u   Maildir.__init__c             C   så  |  j  ƒ  } y |  j | | ƒ Wn/ t k
 rQ | j ƒ  t j | j ƒ ‚  Yn Xt | ƒ t | t	 ƒ r¥ | j
 ƒ  } |  j | j ƒ  } | |  j k r± d } q± n d } d } t j j | j ƒ j |  j ƒ d } t j j |  j | | | ƒ } t | t	 ƒ r5t j | j t j j | j ƒ | j ƒ  f ƒ n  yL t t d ƒ rmt j | j | ƒ t j | j ƒ n t j | j | ƒ Wn] t k
 rà} z= t j | j ƒ | j t j k rËt d | ƒ ‚ n ‚  WYd d } ~ Xn X| S(   u$   Add message and return assigned key.u    u   newi    u   linku$   Name clash with existing message: %sN(   u   _create_tmpu   _dump_messageu   BaseExceptionu   closeu   osu   removeu   nameu   _sync_closeu
   isinstanceu   MaildirMessageu
   get_subdiru   colonu   get_infou   pathu   basenameu   splitu   joinu   _pathu   utimeu   getatimeu   get_dateu   hasattru   linku   renameu   OSErroru   errnou   EEXISTu   ExternalClashError(   u   selfu   messageu   tmp_fileu   subdiru   suffixu   uniqu   destu   e(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   add$  s@    

%%u   Maildir.addc             C   s,   t  j t  j j |  j |  j | ƒ ƒ ƒ d S(   u=   Remove the keyed message; raise KeyError if it doesn't exist.N(   u   osu   removeu   pathu   joinu   _pathu   _lookup(   u   selfu   key(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   removeM  s    u   Maildir.removec             C   sf   y |  j  | ƒ WnN t k
 r% Yn= t k
 ra } z | j t j k rO ‚  n  WYd d } ~ Xn Xd S(   u'   If the keyed message exists, remove it.N(   u   removeu   KeyErroru   OSErroru   errnou   ENOENT(   u   selfu   keyu   e(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   discardQ  s    u   Maildir.discardc             C   s$  |  j  | ƒ } |  j | ƒ } |  j  | ƒ } t | t ƒ rE | } n | } t j j | ƒ } |  j | k rŒ |  j | j |  j ƒ d } n d } |  j	 | ƒ t j j
 |  j | ƒ }	 t j j
 |  j | | | ƒ }
 t | t ƒ rt j |	 t j j |	 ƒ | j ƒ  f ƒ n  t j |	 |
 ƒ d S(   u>   Replace the keyed message; raise KeyError if it doesn't exist.i   u    Niÿÿÿÿ(   u   _lookupu   addu
   isinstanceu   MaildirMessageu   osu   pathu   dirnameu   colonu   splitu   discardu   joinu   _pathu   utimeu   getatimeu   get_dateu   rename(   u   selfu   keyu   messageu   old_subpathu   temp_keyu   temp_subpathu   dominant_subpathu   subdiru   suffixu   tmp_pathu   new_path(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   __setitem__\  s"    	 	"u   Maildir.__setitem__c             C   sì   |  j  | ƒ } t t j j |  j | ƒ d ƒ } z+ |  j rN |  j | ƒ } n t | ƒ } Wd | j ƒ  Xt j j	 | ƒ \ } } | j
 | ƒ |  j | k r½ | j | j	 |  j ƒ d ƒ n  | j t j j t j j |  j | ƒ ƒ ƒ | S(   u4   Return a Message representation or raise a KeyError.u   rbNi   iÿÿÿÿ(   u   _lookupu   openu   osu   pathu   joinu   _pathu   _factoryu   MaildirMessageu   closeu   splitu
   set_subdiru   colonu   set_infou   set_dateu   getmtime(   u   selfu   keyu   subpathu   fu   msgu   subdiru   name(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   get_messagew  s    !	 +u   Maildir.get_messagec          
   C   sV   t  t j j |  j |  j | ƒ ƒ d ƒ } z | j ƒ  j t d ƒ SWd | j	 ƒ  Xd S(   u2   Return a bytes representation or raise a KeyError.u   rbs   
N(
   u   openu   osu   pathu   joinu   _pathu   _lookupu   readu   replaceu   linesepu   close(   u   selfu   keyu   f(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu	   get_bytes‰  s    *u   Maildir.get_bytesc             C   s4   t  t j j |  j |  j | ƒ ƒ d ƒ } t | ƒ S(   u6   Return a file-like representation or raise a KeyError.u   rb(   u   openu   osu   pathu   joinu   _pathu   _lookupu
   _ProxyFile(   u   selfu   keyu   f(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   get_file‘  s    *u   Maildir.get_filec             c   sP   |  j  ƒ  x? |  j D]4 } y |  j | ƒ Wn t k
 rB w Yn X| Vq Wd S(   u   Return an iterator over keys.N(   u   _refreshu   _tocu   _lookupu   KeyError(   u   selfu   key(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   iterkeys–  s    
u   Maildir.iterkeysc             C   s   |  j  ƒ  | |  j k S(   u9   Return True if the keyed message exists, False otherwise.(   u   _refreshu   _toc(   u   selfu   key(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   __contains__   s    
u   Maildir.__contains__c             C   s   |  j  ƒ  t |  j ƒ S(   u*   Return a count of messages in the mailbox.(   u   _refreshu   lenu   _toc(   u   self(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   __len__¥  s    
u   Maildir.__len__c             C   s   d S(   u"   Write any pending changes to disk.N(    (   u   self(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   flushª  s    u   Maildir.flushc             C   s   d S(   u   Lock the mailbox.N(    (   u   self(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   lock°  s    u   Maildir.lockc             C   s   d S(   u#   Unlock the mailbox if it is locked.N(    (   u   self(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   unlock´  s    u   Maildir.unlockc             C   s   d S(   u   Flush and close the mailbox.N(    (   u   self(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   close¸  s    u   Maildir.closec             C   s‡   g  } xz t  j |  j ƒ D]f } t | ƒ d k r | d d k r t  j j t  j j |  j | ƒ ƒ r | j | d d … ƒ q q W| S(   u   Return a list of folder names.i   i    u   .N(   u   osu   listdiru   _pathu   lenu   pathu   isdiru   joinu   append(   u   selfu   resultu   entry(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   list_folders¼  s    "$u   Maildir.list_foldersc             C   s/   t  t j j |  j d | ƒ d |  j d d ƒS(   u/   Return a Maildir instance for the named folder.u   .u   factoryu   createF(   u   Maildiru   osu   pathu   joinu   _pathu   _factoryu   False(   u   selfu   folder(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu
   get_folderÅ  s    	u   Maildir.get_folderc             C   s…   t  j j |  j d | ƒ } t | d |  j ƒ} t  j j | d ƒ } t  j j | ƒ s t  j t  j | t  j	 t  j
 Bd ƒ ƒ n  | S(   u>   Create a folder and return a Maildir instance representing it.u   .u   factoryu   maildirfolderi¶  (   u   osu   pathu   joinu   _pathu   Maildiru   _factoryu   existsu   closeu   openu   O_CREATu   O_WRONLY(   u   selfu   folderu   pathu   resultu   maildirfolder_path(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu
   add_folderË  s    u   Maildir.add_folderc             C   s¢  t  j j |  j d | ƒ } xw t  j t  j j | d ƒ ƒ t  j t  j j | d ƒ ƒ D]; } t | ƒ d k  s | d d k rW t d | ƒ ‚ qW qW Wxu t  j | ƒ D]d } | d k r¦ | d k r¦ | d k r¦ t  j j t  j j | | ƒ ƒ r¦ t d | | f ƒ ‚ q¦ q¦ Wx€ t  j | d	 d ƒD]i \ } } } x* | D]" } t  j
 t  j j | | ƒ ƒ q:Wx* | D]" } t  j t  j j | | ƒ ƒ qgWq$Wt  j | ƒ d
 S(   u-   Delete the named folder, which must be empty.u   .u   newu   curi   i    u   Folder contains message(s): %su   tmpu%   Folder contains subdirectory '%s': %su   topdownNF(   u   osu   pathu   joinu   _pathu   listdiru   lenu   NotEmptyErroru   isdiru   walku   Falseu   removeu   rmdir(   u   selfu   folderu   pathu   entryu   rootu   dirsu   files(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   remove_folderÕ  s     #"$!% $u   Maildir.remove_folderc             C   sƒ   t  j  ƒ  } xp t j t j j |  j d ƒ ƒ D]M } t j j |  j d | ƒ } | t j j | ƒ d k r. t j | ƒ q. q. Wd S(   u   Delete old files in "tmp".u   tmpi@ú N(   u   timeu   osu   listdiru   pathu   joinu   _pathu   getatimeu   remove(   u   selfu   nowu   entryu   path(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   cleanè  s
    (u   Maildir.cleani   c             C   sm  t  j  ƒ  } t j ƒ  } d | k r9 | j d d ƒ } n  d | k rZ | j d d ƒ } n  d t | ƒ t | d d ƒ t j ƒ  t j | f } t j	 j
 |  j d | ƒ } y t j | ƒ Wnš t k
 rX} zz | j t j k rCt j d 7_ y t | ƒ SWqFt k
 r?} z | j t j k r-‚  n  WYd	 d	 } ~ XqFXn ‚  WYd	 d	 } ~ Xn Xt d
 | ƒ ‚ d	 S(   u=   Create a file in the tmp subdirectory and open and return it.u   /u   \057u   :u   \072u   %s.M%sP%sQ%s.%si   g    €„.Au   tmpNu&   Name clash prevented file creation: %s(   u   timeu   socketu   gethostnameu   replaceu   intu   osu   getpidu   Maildiru   _countu   pathu   joinu   _pathu   statu   OSErroru   errnou   ENOENTu   _create_carefullyu   EEXISTu   ExternalClashError(   u   selfu   nowu   hostnameu   uniqu   pathu   e(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   _create_tmpò  s,    &u   Maildir._create_tmpc             C   s?  t  j  ƒ  |  j d |  j k r‰ d } xS |  j D]H } t j j |  j | ƒ } | |  j | k rk d } n  | |  j | <q0 W| s‰ d Sn  i  |  _
 x— |  j D]Œ } |  j | } xv t j | ƒ D]e } t j j | | ƒ } t j j | ƒ rò q¿ n  | j |  j ƒ d } t j j | | ƒ |  j
 | <q¿ Wqœ Wt  j  ƒ  |  _ d S(   u!   Update table of contents mapping.i   Ni    FT(   u   timeu
   _last_readu   _skewfactoru   Falseu   _toc_mtimesu   osu   pathu   getmtimeu   _pathsu   Trueu   _tocu   listdiru   joinu   isdiru   splitu   colon(   u   selfu   refreshu   subdiru   mtimeu   pathu   entryu   pu   uniq(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   _refresh  s&     		$u   Maildir._refreshc             C   s‘   y: t  j j t  j j |  j |  j | ƒ ƒ r9 |  j | SWn t k
 rN Yn X|  j ƒ  y |  j | SWn" t k
 rŒ t d | ƒ ‚ Yn Xd S(   u=   Use TOC to return subpath for given key, or raise a KeyError.u   No message with key: %sN(   u   osu   pathu   existsu   joinu   _pathu   _tocu   KeyErroru   _refresh(   u   selfu   key(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   _lookup2  s    +
u   Maildir._lookupc             C   ss   t  |  d ƒ s' t |  j ƒ  ƒ |  _ n  xE y |  t |  j ƒ SWq* t k
 rW d SYq* t k
 rk w* Yq* Xq* d S(   u0   Return the next message in a one-time iteration.u   _onetime_keysN(   u   hasattru   iteru   keysu   _onetime_keysu   nextu   StopIterationu   Noneu   KeyError(   u   self(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   next@  s    u   Maildir.nextNT(    u   __name__u
   __module__u   __qualname__u   __doc__u   colonu   Noneu   Trueu   __init__u   addu   removeu   discardu   __setitem__u   get_messageu	   get_bytesu   get_fileu   iterkeysu   __contains__u   __len__u   flushu   locku   unlocku   closeu   list_foldersu
   get_folderu
   add_folderu   remove_folderu   cleanu   _countu   _create_tmpu   _refreshu   _lookupu   next(   u
   __locals__(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   Maildir  s6   )
	
$c             B   sã   |  Ee  Z d  Z d Z d" d# d d „ Z d d „  Z d d „  Z d d	 „  Z	 d
 d „  Z
 d d „  Z d d „  Z d d „  Z d d „  Z d d „  Z d d „  Z d d „  Z d d „  Z d d „  Z d" d d „ Z d  d! „  Z d" S($   u   _singlefileMailboxu   A single-file mailbox.c             C   s	  t  j |  | | | ƒ y t |  j d ƒ } Wn— t k
 rÅ } zw | j t j k r€ | rn t |  j d ƒ } q³ t |  j ƒ ‚ n3 | j t j t j	 f k r° t |  j d ƒ } n ‚  WYd d } ~ Xn X| |  _
 d |  _ d |  _ d |  _ d |  _ d |  _ d |  _ d S(   u!   Initialize a single-file mailbox.u   rb+u   wb+u   rbNi    F(   u   Mailboxu   __init__u   openu   _pathu   IOErroru   errnou   ENOENTu   NoSuchMailboxErroru   EACCESu   EROFSu   _fileu   Noneu   _tocu	   _next_keyu   Falseu   _pendingu   _pending_syncu   _lockedu   _file_length(   u   selfu   pathu   factoryu   createu   fu   e(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   __init__P  s$    						u   _singlefileMailbox.__init__c             C   sF   |  j  ƒ  |  j | ƒ |  j |  j <|  j d 7_ d |  _ |  j d S(   u$   Add message and return assigned key.i   T(   u   _lookupu   _append_messageu   _tocu	   _next_keyu   Trueu   _pending_sync(   u   selfu   message(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   addg  s
    
	u   _singlefileMailbox.addc             C   s$   |  j  | ƒ |  j | =d |  _ d S(   u=   Remove the keyed message; raise KeyError if it doesn't exist.NT(   u   _lookupu   _tocu   Trueu   _pending(   u   selfu   key(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   removeq  s    
u   _singlefileMailbox.removec             C   s0   |  j  | ƒ |  j | ƒ |  j | <d |  _ d S(   u>   Replace the keyed message; raise KeyError if it doesn't exist.NT(   u   _lookupu   _append_messageu   _tocu   Trueu   _pending(   u   selfu   keyu   message(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   __setitem__w  s    u   _singlefileMailbox.__setitem__c             c   s-   |  j  ƒ  x |  j j ƒ  D] } | Vq Wd S(   u   Return an iterator over keys.N(   u   _lookupu   _tocu   keys(   u   selfu   key(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   iterkeys}  s    
u   _singlefileMailbox.iterkeysc             C   s   |  j  ƒ  | |  j k S(   u9   Return True if the keyed message exists, False otherwise.(   u   _lookupu   _toc(   u   selfu   key(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   __contains__ƒ  s    
u   _singlefileMailbox.__contains__c             C   s   |  j  ƒ  t |  j ƒ S(   u*   Return a count of messages in the mailbox.(   u   _lookupu   lenu   _toc(   u   self(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   __len__ˆ  s    
u   _singlefileMailbox.__len__c             C   s&   |  j  s" t |  j ƒ d |  _  n  d S(   u   Lock the mailbox.NT(   u   _lockedu
   _lock_fileu   _fileu   True(   u   self(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   lock  s    	u   _singlefileMailbox.lockc             C   s&   |  j  r" t |  j ƒ d |  _  n  d S(   u#   Unlock the mailbox if it is locked.NF(   u   _lockedu   _unlock_fileu   _fileu   False(   u   self(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   unlock“  s    	u   _singlefileMailbox.unlockc             C   sÐ  |  j  s/ |  j r+ t |  j ƒ d	 |  _ n  d S|  j j d d ƒ |  j j ƒ  } | |  j k r| t d |  j | f ƒ ‚ n  t	 |  j
 ƒ } yê i  } |  j | ƒ xÁ t |  j j ƒ  ƒ D]ª } |  j | \ } } |  j j | ƒ |  j | ƒ | j ƒ  } xB |  j j t d | |  j j ƒ  ƒ ƒ } | s.Pn  | j | ƒ qü | | j ƒ  f | | <|  j | ƒ q· W| j ƒ  |  _ Wn% | j ƒ  t j | j ƒ ‚  Yn Xt | ƒ |  j j ƒ  t j |  j
 ƒ j }	 t j | j |	 ƒ y t j | j |  j
 ƒ Wn„ t k
 r|}
 zd |
 j t j k s>t j d k rg|
 j t j  k rgt j |  j
 ƒ t j | j |  j
 ƒ n ‚  WYd d }
 ~
 Xn Xt! |  j
 d ƒ |  _ | |  _ d	 |  _  d	 |  _ |  j" rÌt# |  j d d	 ƒn  d S(
   u"   Write any pending changes to disk.Ni    i   u4   Size of mailbox file changed (expected %i, found %i)i   u   os2u   rb+u   dotlockF($   u   _pendingu   _pending_syncu   _sync_flushu   _fileu   Falseu   seeku   tellu   _file_lengthu   ExternalClashErroru   _create_temporaryu   _pathu   _pre_mailbox_hooku   sortedu   _tocu   keysu   _pre_message_hooku   readu   minu   writeu   _post_message_hooku   closeu   osu   removeu   nameu   _sync_closeu   statu   st_modeu   chmodu   renameu   OSErroru   errnou   EEXISTu   EACCESu   openu   _lockedu
   _lock_file(   u   selfu   cur_lenu   new_fileu   new_tocu   keyu   startu   stopu	   new_startu   bufferu   modeu   e(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   flush™  sd    			

!				u   _singlefileMailbox.flushc             C   s   d S(   u,   Called before writing the mailbox to file f.N(    (   u   selfu   f(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   _pre_mailbox_hookÝ  s    u$   _singlefileMailbox._pre_mailbox_hookc             C   s   d S(   u-   Called before writing each message to file f.N(    (   u   selfu   f(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   _pre_message_hooká  s    u$   _singlefileMailbox._pre_message_hookc             C   s   d S(   u,   Called after writing each message to file f.N(    (   u   selfu   f(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   _post_message_hookå  s    u%   _singlefileMailbox._post_message_hookc             C   s1   |  j  ƒ  |  j r  |  j ƒ  n  |  j j ƒ  d S(   u   Flush and close the mailbox.N(   u   flushu   _lockedu   unlocku   _fileu   close(   u   self(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   closeé  s    
	u   _singlefileMailbox.closec             C   sc   |  j  d k r |  j ƒ  n  | d k	 r_ y |  j  | SWq_ t k
 r[ t d | ƒ ‚ Yq_ Xn  d S(   u'   Return (start, stop) or raise KeyError.u   No message with key: %sN(   u   _tocu   Noneu   _generate_tocu   KeyError(   u   selfu   key(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   _lookupð  s    u   _singlefileMailbox._lookupc             C   sÒ   |  j  j d d ƒ |  j  j ƒ  } t |  j ƒ d k rT |  j rT |  j |  j  ƒ n  y3 |  j |  j  ƒ |  j | ƒ } |  j	 |  j  ƒ Wn% t
 k
 r® |  j  j | ƒ ‚  Yn X|  j  j ƒ  |  j  j ƒ  |  _ | S(   u;   Append message to mailbox and return (start, stop) offsets.i    i   (   u   _fileu   seeku   tellu   lenu   _tocu   _pendingu   _pre_mailbox_hooku   _pre_message_hooku   _install_messageu   _post_message_hooku   BaseExceptionu   truncateu   flushu   _file_length(   u   selfu   messageu   beforeu   offsets(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   _append_messageú  s    u"   _singlefileMailbox._append_messageNT(   u   __name__u
   __module__u   __qualname__u   __doc__u   Noneu   Trueu   __init__u   addu   removeu   __setitem__u   iterkeysu   __contains__u   __len__u   locku   unlocku   flushu   _pre_mailbox_hooku   _pre_message_hooku   _post_message_hooku   closeu   _lookupu   _append_message(   u
   __locals__(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   _singlefileMailboxM  s"   
D
u   _singlefileMailboxc             B   se   |  Ee  Z d  Z d Z d Z d d „  Z d d d „ Z d d d „ Z	 d d d	 „ Z
 d
 d „  Z d S(   u	   _mboxMMDFu   An mbox or MMDF mailbox.c             C   sž   |  j  | ƒ \ } } |  j j | ƒ |  j j ƒ  j t d ƒ } |  j j | |  j j ƒ  ƒ } |  j | j t d ƒ ƒ } | j	 | d d … j
 d ƒ ƒ | S(   u4   Return a Message representation or raise a KeyError.s    s   
i   Nu   ascii(   u   _lookupu   _fileu   seeku   readlineu   replaceu   linesepu   readu   tellu   _message_factoryu   set_fromu   decode(   u   selfu   keyu   startu   stopu	   from_lineu   stringu   msg(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   get_message  s     u   _mboxMMDF.get_messagec             C   s"   t  j |  j | ƒ ƒ j d | ƒ S(   u3   Return a string representation or raise a KeyError.u   unixfrom(   u   emailu   message_from_bytesu	   get_bytesu	   as_string(   u   selfu   keyu   from_(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu
   get_string   s    u   _mboxMMDF.get_stringc             C   sj   |  j  | ƒ \ } } |  j j | ƒ | s; |  j j ƒ  n  |  j j | |  j j ƒ  ƒ } | j t d ƒ S(   u3   Return a string representation or raise a KeyError.s   
(   u   _lookupu   _fileu   seeku   readlineu   readu   tellu   replaceu   linesep(   u   selfu   keyu   from_u   startu   stopu   string(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu	   get_bytes%  s    u   _mboxMMDF.get_bytesc             C   sW   |  j  | ƒ \ } } |  j j | ƒ | s; |  j j ƒ  n  t |  j |  j j ƒ  | ƒ S(   u6   Return a file-like representation or raise a KeyError.(   u   _lookupu   _fileu   seeku   readlineu   _PartialFileu   tell(   u   selfu   keyu   from_u   startu   stop(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   get_file.  s
    u   _mboxMMDF.get_filec             C   sŒ  d } t | t ƒ r' |  j | ƒ } n  t | t ƒ r– | j d ƒ r– | j d ƒ } | d k r‡ | d | … } | | d d … } q	| } d } ns t | t ƒ rÇ | j ƒ  j	 d ƒ } d | } nB t | t
 j j ƒ r	| j ƒ  } | d k	 r	| j	 d ƒ } q	n  | d k r7d t j t j ƒ  ƒ j	 ƒ  } n  |  j j ƒ  } |  j j | t ƒ |  j | |  j |  j ƒ |  j j ƒ  } | | f S(	   u1   Format a message and blindly write to self._file.s   From s   
i   Ns    u   asciis   From MAILER-DAEMON iÿÿÿÿ(   u   Noneu
   isinstanceu   stru   _string_to_bytesu   bytesu
   startswithu   findu   _mboxMMDFMessageu   get_fromu   encodeu   emailu   messageu   Messageu   get_unixfromu   timeu   asctimeu   gmtimeu   _fileu   tellu   writeu   linesepu   _dump_messageu   _mangle_from_(   u   selfu   messageu	   from_lineu   newlineu   authoru   startu   stop(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   _install_message6  s0    	"u   _mboxMMDF._install_messageNTF(   u   __name__u
   __module__u   __qualname__u   __doc__u   Trueu   _mangle_from_u   get_messageu   Falseu
   get_stringu	   get_bytesu   get_fileu   _install_message(   u
   __locals__(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu	   _mboxMMDF  s   
	u	   _mboxMMDFc             B   sP   |  Ee  Z d  Z d Z d	 Z d	 Z d d	 d d „ Z d d „  Z	 d d „  Z
 d S(
   u   mboxu   A classic mbox mailbox.c             C   s#   t  |  _ t j |  | | | ƒ d S(   u   Initialize an mbox mailbox.N(   u   mboxMessageu   _message_factoryu	   _mboxMMDFu   __init__(   u   selfu   pathu   factoryu   create(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   __init__\  s    	u   mbox.__init__c             C   s   | j  t ƒ d S(   u,   Called after writing each message to file f.N(   u   writeu   linesep(   u   selfu   f(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   _post_message_hooka  s    u   mbox._post_message_hookc             C   sL  g  g  } } d } |  j j d ƒ xà |  j j ƒ  } |  j j ƒ  } | j d ƒ r± t | ƒ t | ƒ k  r› | r‹ | j | t t ƒ ƒ q› | j | ƒ n  | j | ƒ d } q& | sè | r× | j | t t ƒ ƒ n | j | ƒ Pq& | t k rý d } q& d } q& t
 t t | | ƒ ƒ ƒ |  _ t |  j ƒ |  _ |  j j ƒ  |  _ d S(   u0   Generate key-to-(start, stop) table of contents.i    s   From NFT(   u   Falseu   _fileu   seeku   tellu   readlineu
   startswithu   lenu   appendu   linesepu   Trueu   dictu	   enumerateu   zipu   _tocu	   _next_keyu   _file_length(   u   selfu   startsu   stopsu   last_was_emptyu   line_posu   line(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   _generate_toce  s0    			u   mbox._generate_tocNT(   u   __name__u
   __module__u   __qualname__u   __doc__u   Trueu   _mangle_from_u   _append_newlineu   Noneu   __init__u   _post_message_hooku   _generate_toc(   u
   __locals__(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   mboxS  s   c             B   sP   |  Ee  Z d  Z d Z d
 d d d „ Z d d „  Z d d „  Z d d	 „  Z	 d
 S(   u   MMDFu   An MMDF mailbox.c             C   s#   t  |  _ t j |  | | | ƒ d S(   u   Initialize an MMDF mailbox.N(   u   MMDFMessageu   _message_factoryu	   _mboxMMDFu   __init__(   u   selfu   pathu   factoryu   create(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   __init__Š  s    	u   MMDF.__init__c             C   s   | j  d t ƒ d S(   u-   Called before writing each message to file f.s   N(   u   writeu   linesep(   u   selfu   f(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   _pre_message_hook  s    u   MMDF._pre_message_hookc             C   s   | j  t d t ƒ d S(   u,   Called after writing each message to file f.s   N(   u   writeu   linesep(   u   selfu   f(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   _post_message_hook“  s    u   MMDF._post_message_hookc             C   s?  g  g  } } |  j  j d ƒ d } xÀ | } |  j  j ƒ  } |  j  j ƒ  } | j d t ƒ rÙ | j | ƒ xv | } |  j  j ƒ  } |  j  j ƒ  } | d t k r¼ | j | t t ƒ ƒ Pqm | sm | j | ƒ Pqm qm q& | s& Pq& q& t t	 t
 | | ƒ ƒ ƒ |  _ t |  j ƒ |  _ |  j  j d d ƒ |  j  j ƒ  |  _ d S(   u0   Generate key-to-(start, stop) table of contents.i    s   i   N(   u   _fileu   seeku   readlineu   tellu
   startswithu   linesepu   appendu   lenu   dictu	   enumerateu   zipu   _tocu	   _next_keyu   _file_length(   u   selfu   startsu   stopsu   next_posu   line_posu   line(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   _generate_toc—  s2    
u   MMDF._generate_tocNT(
   u   __name__u
   __module__u   __qualname__u   __doc__u   Noneu   Trueu   __init__u   _pre_message_hooku   _post_message_hooku   _generate_toc(   u
   __locals__(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   MMDF‡  s
   c             B   s(  |  Ee  Z d  Z d Z d. d/ d d „ Z d d „  Z d d „  Z d d	 „  Z	 d
 d „  Z
 d d „  Z d d „  Z d d „  Z d d „  Z d d „  Z d d „  Z d d „  Z d d „  Z d d „  Z d d „  Z d  d! „  Z d" d# „  Z d$ d% „  Z d& d' „  Z d( d) „  Z d* d+ „  Z d, d- „  Z d. S(0   u   MHu   An MH mailbox.c             C   s¥   t  j |  | | | ƒ t j j |  j ƒ s˜ | r† t j |  j d ƒ t j t j t j j	 |  j d ƒ t j
 t j Bt j Bd ƒ ƒ q˜ t |  j ƒ ‚ n  d |  _ d S(   u   Initialize an MH instance.iÀ  u   .mh_sequencesi€  NF(   u   Mailboxu   __init__u   osu   pathu   existsu   _pathu   mkdiru   closeu   openu   joinu   O_CREATu   O_EXCLu   O_WRONLYu   NoSuchMailboxErroru   Falseu   _locked(   u   selfu   pathu   factoryu   create(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   __init__·  s    !!u   MH.__init__c             C   s;  |  j  ƒ  } t | ƒ d k r' d } n t | ƒ d } t j j |  j t | ƒ ƒ } t | ƒ } d } z¹ |  j
 r€ t | ƒ n  z… y |  j | | ƒ WnH t k
 rá |  j
 r½ t | ƒ n  t | ƒ d } t j | ƒ ‚  Yn Xt | t ƒ r|  j | | ƒ n  Wd |  j
 rt | ƒ n  XWd | s6t | ƒ n  X| S(   u$   Add message and return assigned key.i    i   NFT(   u   keysu   lenu   maxu   osu   pathu   joinu   _pathu   stru   _create_carefullyu   Falseu   _lockedu
   _lock_fileu   _dump_messageu   BaseExceptionu   _unlock_fileu   _sync_closeu   Trueu   removeu
   isinstanceu	   MHMessageu   _dump_sequences(   u   selfu   messageu   keysu   new_keyu   new_pathu   fu   closed(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   addÃ  s6    			
	u   MH.addc             C   sœ   t  j j |  j t | ƒ ƒ } y t | d ƒ } WnM t k
 r€ } z- | j t j k rk t	 d | ƒ ‚ n ‚  WYd d } ~ Xn X| j
 ƒ  t  j | ƒ d S(   u=   Remove the keyed message; raise KeyError if it doesn't exist.u   rb+u   No message with key: %sN(   u   osu   pathu   joinu   _pathu   stru   openu   IOErroru   errnou   ENOENTu   KeyErroru   closeu   remove(   u   selfu   keyu   pathu   fu   e(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   removeå  s    
u	   MH.removec             C   s   t  j j |  j t | ƒ ƒ } y t | d ƒ } WnM t k
 r€ } z- | j t j k rk t	 d | ƒ ‚ n ‚  WYd d } ~ Xn Xz |  j
 rš t | ƒ n  zY t  j t  j | t  j t  j Bƒ ƒ |  j | | ƒ t | t ƒ rò |  j | | ƒ n  Wd |  j
 rt | ƒ n  XWd t | ƒ Xd S(   u>   Replace the keyed message; raise KeyError if it doesn't exist.u   rb+u   No message with key: %sN(   u   osu   pathu   joinu   _pathu   stru   openu   IOErroru   errnou   ENOENTu   KeyErroru   _lockedu
   _lock_fileu   closeu   O_WRONLYu   O_TRUNCu   _dump_messageu
   isinstanceu	   MHMessageu   _dump_sequencesu   _unlock_fileu   _sync_close(   u   selfu   keyu   messageu   pathu   fu   e(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   __setitem__ó  s$    	#	u   MH.__setitem__c             C   sC  y^ |  j  r6 t t j j |  j t | ƒ ƒ d ƒ } n' t t j j |  j t | ƒ ƒ d ƒ } WnM t k
 r­ } z- | j t j	 k r˜ t
 d | ƒ ‚ n ‚  WYd d } ~ Xn XzD |  j  rÇ t | ƒ n  z t | ƒ } Wd |  j  rð t | ƒ n  XWd | j ƒ  Xx< |  j ƒ  j ƒ  D]( \ } } | | k r| j | ƒ qqW| S(   u4   Return a Message representation or raise a KeyError.u   rb+u   rbu   No message with key: %sN(   u   _lockedu   openu   osu   pathu   joinu   _pathu   stru   IOErroru   errnou   ENOENTu   KeyErroru
   _lock_fileu	   MHMessageu   _unlock_fileu   closeu   get_sequencesu   itemsu   add_sequence(   u   selfu   keyu   fu   eu   msgu   nameu   key_list(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   get_message  s(    	*+		u   MH.get_messagec             C   s  y^ |  j  r6 t t j j |  j t | ƒ ƒ d ƒ } n' t t j j |  j t | ƒ ƒ d ƒ } WnM t k
 r­ } z- | j t j	 k r˜ t
 d | ƒ ‚ n ‚  WYd d } ~ Xn XzN |  j  rÇ t | ƒ n  z | j ƒ  j t d ƒ SWd |  j  rú t | ƒ n  XWd | j ƒ  Xd S(   u2   Return a bytes representation or raise a KeyError.u   rb+u   rbu   No message with key: %sNs   
(   u   _lockedu   openu   osu   pathu   joinu   _pathu   stru   IOErroru   errnou   ENOENTu   KeyErroru
   _lock_fileu   readu   replaceu   linesepu   _unlock_fileu   close(   u   selfu   keyu   fu   e(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu	   get_bytes&  s     	*+		u   MH.get_bytesc             C   s…   y+ t  t j j |  j t | ƒ ƒ d ƒ } WnM t k
 rz } z- | j t j k re t	 d | ƒ ‚ n ‚  WYd d } ~ Xn Xt
 | ƒ S(   u6   Return a file-like representation or raise a KeyError.u   rbu   No message with key: %sN(   u   openu   osu   pathu   joinu   _pathu   stru   IOErroru   errnou   ENOENTu   KeyErroru
   _ProxyFile(   u   selfu   keyu   fu   e(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   get_file=  s    +u   MH.get_filec             C   s)   t  t d d „  t j |  j ƒ Dƒ ƒ ƒ S(   u   Return an iterator over keys.c             s   s'   |  ] } | j  ƒ  r t | ƒ Vq d  S(   N(   u   isdigitu   int(   u   .0u   entry(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu	   <genexpr>J  s    u   MH.iterkeys.<locals>.<genexpr>(   u   iteru   sortedu   osu   listdiru   _path(   u   self(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   iterkeysH  s    u   MH.iterkeysc             C   s(   t  j j t  j j |  j t | ƒ ƒ ƒ S(   u9   Return True if the keyed message exists, False otherwise.(   u   osu   pathu   existsu   joinu   _pathu   str(   u   selfu   key(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   __contains__M  s    u   MH.__contains__c             C   s   t  t |  j ƒ  ƒ ƒ S(   u*   Return a count of messages in the mailbox.(   u   lenu   listu   keys(   u   self(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   __len__Q  s    u
   MH.__len__c             C   sJ   |  j  sF t t j j |  j d ƒ d ƒ |  _ t |  j ƒ d |  _  n  d S(   u   Lock the mailbox.u   .mh_sequencesu   rb+NT(	   u   _lockedu   openu   osu   pathu   joinu   _pathu   _fileu
   _lock_fileu   True(   u   self(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   lockU  s    	$u   MH.lockc             C   s9   |  j  r5 t |  j ƒ t |  j ƒ |  ` d |  _  n  d S(   u#   Unlock the mailbox if it is locked.NF(   u   _lockedu   _unlock_fileu   _fileu   _sync_closeu   False(   u   self(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   unlock\  s
    	u	   MH.unlockc             C   s   d S(   u&   Write any pending changes to the disk.N(    (   u   self(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   flushd  s    u   MH.flushc             C   s   |  j  r |  j ƒ  n  d S(   u   Flush and close the mailbox.N(   u   _lockedu   unlock(   u   self(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   closeh  s    	u   MH.closec             C   s[   g  } xN t  j |  j ƒ D]: } t  j j t  j j |  j | ƒ ƒ r | j | ƒ q q W| S(   u   Return a list of folder names.(   u   osu   listdiru   _pathu   pathu   isdiru   joinu   append(   u   selfu   resultu   entry(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   list_foldersm  s
    $u   MH.list_foldersc             C   s+   t  t j j |  j | ƒ d |  j d d ƒS(   u+   Return an MH instance for the named folder.u   factoryu   createF(   u   MHu   osu   pathu   joinu   _pathu   _factoryu   False(   u   selfu   folder(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu
   get_folderu  s    u   MH.get_folderc             C   s%   t  t j j |  j | ƒ d |  j ƒS(   u:   Create a folder and return an MH instance representing it.u   factory(   u   MHu   osu   pathu   joinu   _pathu   _factory(   u   selfu   folder(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu
   add_folderz  s    u   MH.add_folderc             C   sˆ   t  j j |  j | ƒ } t  j | ƒ } | d g k rU t  j t  j j | d ƒ ƒ n" | g  k rd n t d |  j ƒ ‚ t  j | ƒ d S(   u-   Delete the named folder, which must be empty.u   .mh_sequencesu   Folder not empty: %sN(   u   osu   pathu   joinu   _pathu   listdiru   removeu   NotEmptyErroru   rmdir(   u   selfu   folderu   pathu   entries(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   remove_folder  s    u   MH.remove_folderc       
         sb  i  } t  t j j |  j d ƒ d d d ƒ/} t |  j ƒ  ƒ ‰  x| D]} yÚ | j d ƒ \ } } t ƒ  } xr | j ƒ  D]d } | j ƒ  r¥ | j	 t
 | ƒ ƒ q} d d „  | j d ƒ Dƒ \ } }	 | j t | |	 d	 ƒ ƒ q} W‡  f d
 d †  t | ƒ Dƒ | | <t | | ƒ d k r(| | =n  WqI t k
 rSt d | j ƒ  ƒ ‚ YqI XqI WWd QX| S(   u=   Return a name-to-key-list dictionary to define each sequence.u   .mh_sequencesu   ru   encodingu   ASCIIu   :c             s   s   |  ] } t  | ƒ Vq d  S(   N(   u   int(   u   .0u   x(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu	   <genexpr>˜  s    u#   MH.get_sequences.<locals>.<genexpr>u   -i   c                s"   g  |  ] } | ˆ  k r | ‘ q S(    (    (   u   .0u   key(   u   all_keys(    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu
   <listcomp>š  s   	 u$   MH.get_sequences.<locals>.<listcomp>i    u"   Invalid sequence specification: %sN(   u   openu   osu   pathu   joinu   _pathu   setu   keysu   splitu   isdigitu   addu   intu   updateu   rangeu   sortedu   lenu
   ValueErroru   FormatErroru   rstrip(
   u   selfu   resultsu   fu   lineu   nameu   contentsu   keysu   specu   startu   stop(    (   u   all_keysu,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   get_sequences‹  s&    *	"#u   MH.get_sequencesc             C   sk  t  t j j |  j d ƒ d d d ƒ} z2t j t j  | j t j t j Bƒ ƒ x| j	 ƒ  D]÷ \ } } t
 | ƒ d k r q] n  | j | d ƒ d } d } x† t t | ƒ ƒ D]r } | d | k ræ | sd } | j d ƒ qn7 | rd } | j d	 | | f ƒ n | j d
 | ƒ | } q± W| rG| j t | ƒ d ƒ q] | j d ƒ q] WWd t | ƒ Xd S(   u:   Set sequences using the given name-to-key-list dictionary.u   .mh_sequencesu   r+u   encodingu   ASCIIi    u   :i   u   -u   %s %su    %su   
NFT(   u   openu   osu   pathu   joinu   _pathu   closeu   nameu   O_WRONLYu   O_TRUNCu   itemsu   lenu   writeu   Noneu   Falseu   sortedu   setu   Trueu   stru   _sync_close(   u   selfu	   sequencesu   fu   nameu   keysu   prevu
   completingu   key(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   set_sequences£  s.    '&
u   MH.set_sequencesc       	      C   s¬  |  j  ƒ  } d } g  } x|  j ƒ  D]ù } | d | k r| j | | d f ƒ t t d ƒ rÍ t j t j j |  j t	 | ƒ ƒ t j j |  j t	 | d ƒ ƒ ƒ t j
 t j j |  j t	 | ƒ ƒ ƒ qt j t j j |  j t	 | ƒ ƒ t j j |  j t	 | d ƒ ƒ ƒ n  | d 7} q% W| d |  _ t | ƒ d k rEd SxS | j ƒ  D]E \ } } x6 | D]. \ } } | | k re| | | j | ƒ <qeqeWqRW|  j | ƒ d S(   u?   Re-name messages to eliminate numbering gaps. Invalidates keys.i    i   u   linkN(   u   get_sequencesu   keysu   appendu   hasattru   osu   linku   pathu   joinu   _pathu   stru   unlinku   renameu	   _next_keyu   lenu   itemsu   indexu   set_sequences(	   u   selfu	   sequencesu   prevu   changesu   keyu   nameu   key_listu   oldu   new(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   packÀ  s*    !#(!&u   MH.packc             C   s®   | j  ƒ  } |  j  ƒ  } xU | j ƒ  D]G \ } } | | k rM | j | ƒ q% | | k r% | | j | ƒ =q% q% Wx* | D]" } | | k rw | g | | <qw qw W|  j | ƒ d S(   u;   Inspect a new MHMessage and update sequences appropriately.N(   u   get_sequencesu   itemsu   appendu   indexu   set_sequences(   u   selfu   messageu   keyu   pending_sequencesu   all_sequencesu   nameu   key_listu   sequence(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   _dump_sequencesÙ  s    u   MH._dump_sequencesNT(   u   __name__u
   __module__u   __qualname__u   __doc__u   Noneu   Trueu   __init__u   addu   removeu   __setitem__u   get_messageu	   get_bytesu   get_fileu   iterkeysu   __contains__u   __len__u   locku   unlocku   flushu   closeu   list_foldersu
   get_folderu
   add_folderu   remove_folderu   get_sequencesu   set_sequencesu   packu   _dump_sequences(   u
   __locals__(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   MH´  s.   "c             B   sÈ   |  Ee  Z d  Z d Z e d$ ƒ Z d# d% d	 d
 „ Z d d „  Z	 d d „  Z
 d d „  Z d d „  Z d d „  Z d d „  Z d d „  Z d d „  Z d d „  Z d d „  Z d d  „  Z d! d" „  Z d# S(&   u   Babylu   An Rmail-style Babyl mailbox.u   unseenu   deletedu   filedu   answeredu	   forwardedu   editedu   resentc             C   s#   t  j |  | | | ƒ i  |  _ d S(   u   Initialize a Babyl mailbox.N(   u   _singlefileMailboxu   __init__u   _labels(   u   selfu   pathu   factoryu   create(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   __init__î  s    u   Babyl.__init__c             C   s;   t  j |  | ƒ } t | t ƒ r7 | j ƒ  |  j | <n  | S(   u$   Add message and return assigned key.(   u   _singlefileMailboxu   addu
   isinstanceu   BabylMessageu
   get_labelsu   _labels(   u   selfu   messageu   key(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   addó  s    u	   Babyl.addc             C   s0   t  j |  | ƒ | |  j k r, |  j | =n  d S(   u=   Remove the keyed message; raise KeyError if it doesn't exist.N(   u   _singlefileMailboxu   removeu   _labels(   u   selfu   key(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   removeú  s    u   Babyl.removec             C   s<   t  j |  | | ƒ t | t ƒ r8 | j ƒ  |  j | <n  d S(   u>   Replace the keyed message; raise KeyError if it doesn't exist.N(   u   _singlefileMailboxu   __setitem__u
   isinstanceu   BabylMessageu
   get_labelsu   _labels(   u   selfu   keyu   message(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   __setitem__   s    u   Babyl.__setitem__c       
      C   sb  |  j  | ƒ \ } } |  j j | ƒ |  j j ƒ  t j ƒ  } xF |  j j ƒ  } | d t k sg | rk Pn  | j | j t d ƒ ƒ qA t j ƒ  } xB |  j j ƒ  } | t k s¸ | r¼ Pn  | j | j t d ƒ ƒ q– | |  j j	 ƒ  } |  j j
 | ƒ } | j t d ƒ } t | j ƒ  | ƒ }	 |	 j | j ƒ  ƒ | |  j k r^|	 j |  j | ƒ n  |	 S(   u4   Return a Message representation or raise a KeyError.s   *** EOOH ***s   
(   u   _lookupu   _fileu   seeku   readlineu   iou   BytesIOu   linesepu   writeu   replaceu   tellu   readu   BabylMessageu   getvalueu   set_visibleu   _labelsu
   set_labels(
   u   selfu   keyu   startu   stopu   original_headersu   lineu   visible_headersu   nu   bodyu   msg(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   get_message  s.    u   Babyl.get_messagec       	      C   sþ   |  j  | ƒ \ } } |  j j | ƒ |  j j ƒ  t j ƒ  } xF |  j j ƒ  } | d t k sg | rk Pn  | j | j t d ƒ ƒ qA x) |  j j ƒ  } | t k s¬ | rŠ PqŠ qŠ | j	 ƒ  } | |  j j
 ƒ  } |  j j | ƒ } | j t d ƒ } | | S(   u3   Return a string representation or raise a KeyError.s   *** EOOH ***s   
(   u   _lookupu   _fileu   seeku   readlineu   iou   BytesIOu   linesepu   writeu   replaceu   getvalueu   tellu   read(	   u   selfu   keyu   startu   stopu   original_headersu   lineu   headersu   nu   data(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu	   get_bytes"  s$    u   Babyl.get_bytesc             C   s"   t  j |  j | ƒ j d t ƒ ƒ S(   u6   Return a file-like representation or raise a KeyError.s   
(   u   iou   BytesIOu	   get_bytesu   replaceu   linesep(   u   selfu   key(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   get_file8  s    u   Babyl.get_filec             C   sT   |  j  ƒ  t ƒ  } x$ |  j j ƒ  D] } | j | ƒ q# W| j |  j ƒ t | ƒ S(   u4   Return a list of user-defined labels in the mailbox.(   u   _lookupu   setu   _labelsu   valuesu   updateu   difference_updateu   _special_labelsu   list(   u   selfu   labelsu
   label_list(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu
   get_labels<  s    
	u   Babyl.get_labelsc             C   sÁ  g  g  } } |  j  j d ƒ d } g  } x'| } |  j  j ƒ  } |  j  j ƒ  } | d t k rÞ t | ƒ t | ƒ k  r’ | j | t t ƒ ƒ n  | j | ƒ d d „  |  j  j ƒ  d d … j d ƒ Dƒ } | j | ƒ q, | d k sú | d t k r/t | ƒ t | ƒ k  rP| j | t t ƒ ƒ qPq, | s, | j | t t ƒ ƒ Pq, q, t t	 t
 | | ƒ ƒ ƒ |  _ t t	 | ƒ ƒ |  _ t |  j ƒ |  _ |  j  j d d	 ƒ |  j  j ƒ  |  _ d S(
   u0   Generate key-to-(start, stop) table of contents.i    s   c             S   s(   g  |  ] } | j  ƒ  r | j  ƒ  ‘ q S(    (   u   strip(   u   .0u   label(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu
   <listcomp>S  s   	 u'   Babyl._generate_toc.<locals>.<listcomp>i   Ns   ,s   i   (   u   _fileu   seeku   readlineu   tellu   linesepu   lenu   appendu   splitu   dictu	   enumerateu   zipu   _tocu   _labelsu	   _next_keyu   _file_length(   u   selfu   startsu   stopsu   next_posu   label_listsu   line_posu   lineu   labels(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   _generate_tocE  s4    	&u   Babyl._generate_tocc             C   sm   d t  } | d t  7} |  j ƒ  } d d „  | Dƒ } | d d j | ƒ t  7} | d 7} | j | ƒ d S(	   u,   Called before writing the mailbox to file f.s   BABYL OPTIONS:s
   Version: 5c             s   s   |  ] } | j  ƒ  Vq d  S(   N(   u   encode(   u   .0u   label(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu	   <genexpr>h  s    u*   Babyl._pre_mailbox_hook.<locals>.<genexpr>s   Labels:s   ,s   N(   u   linesepu
   get_labelsu   joinu   write(   u   selfu   fu   babylu   labels(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   _pre_mailbox_hookc  s    

u   Babyl._pre_mailbox_hookc             C   s   | j  d t ƒ d S(   u-   Called before writing each message to file f.s   N(   u   writeu   linesep(   u   selfu   f(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   _pre_message_hookm  s    u   Babyl._pre_message_hookc             C   s   | j  t d ƒ d S(   u,   Called after writing each message to file f.s   N(   u   writeu   linesep(   u   selfu   f(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   _post_message_hookq  s    u   Babyl._post_message_hookc             C   s  |  j  j ƒ  } t | t ƒ rú g  } g  } x@ | j ƒ  D]2 } | |  j k r\ | j | ƒ q7 | j | ƒ q7 W|  j  j d ƒ x( | D]  } |  j  j d | j ƒ  ƒ q„ W|  j  j d ƒ x, | D]$ } |  j  j d | j ƒ  d ƒ q¿ W|  j  j t	 ƒ n |  j  j d t	 ƒ t | t
 j j ƒ rØt j ƒ  } t
 j j | d d ƒ } | j | ƒ | j d ƒ xB | j ƒ  } |  j  j | j d t	 ƒ ƒ | d k sŸ| rdPqdqd|  j  j d	 t	 ƒ t | t ƒ rHt j ƒ  }	 t
 j j |	 d d ƒ }
 |
 j | j ƒ  ƒ x— |	 j ƒ  } |  j  j | j d t	 ƒ ƒ | d k s>| rPqqnR | j d ƒ xB | j ƒ  } |  j  j | j d t	 ƒ ƒ | d k s“| rXPqXqXxU| j d
 ƒ } | s¶Pn  |  j  j | j d t	 ƒ ƒ qnt | t t t j f ƒ r+t | t j ƒ r't j d t d ƒ | j ƒ  } n  t | t ƒ rH|  j | ƒ } n  | j  d ƒ d } | d d k rô|  j  j | d | … j d t	 ƒ ƒ |  j  j d	 t	 ƒ |  j  j | d | … j d t	 ƒ ƒ |  j  j | | d … j d t	 ƒ ƒ qò|  j  j d	 t	 t	 ƒ |  j  j | j d t	 ƒ ƒ nÇt! | d ƒ rÜt! | d ƒ rht j d t d ƒ | j" } n  | j ƒ  } d } x¾ | j ƒ  } | j$ d ƒ r¯| d d … d } n& | j$ d ƒ rÕ| d d … d } n  |  j  j | j d t	 ƒ ƒ | d k s| r}| r4d } |  j  j d	 t	 ƒ | j | ƒ q8Pq}q}x´ | j ƒ  } | sTPn  | j$ d ƒ rz| d d … t	 } nL | j$ d ƒ r | d d … t	 } n& | j$ d ƒ rÆ| d d … t	 } n  |  j  j | ƒ q>n t% d t& | ƒ ƒ ‚ |  j  j ƒ  } | | f S(   u0   Write message contents and return (start, stop).s   1s   , s   ,,s    s   ,s   1,,i    s   
s   *** EOOH ***i   u8   Use of StringIO input is deprecated, use BytesIO insteadi   s   

i   i   Nu   readlineu   bufferuD   Use of text mode files is deprecated, use a binary mode file insteads   
s   u   Invalid message type: %sFiÿÿÿÿTiþÿÿÿiÿÿÿÿiþÿÿÿiÿÿÿÿiÿÿÿÿ('   u   _fileu   tellu
   isinstanceu   BabylMessageu
   get_labelsu   _special_labelsu   appendu   writeu   encodeu   linesepu   emailu   messageu   Messageu   iou   BytesIOu	   generatoru   BytesGeneratoru   Falseu   flattenu   seeku   readlineu   replaceu   get_visibleu   readu   bytesu   stru   StringIOu   warningsu   warnu   DeprecationWarningu   getvalueu   _string_to_bytesu   findu   hasattru   bufferu   Trueu   endswithu	   TypeErroru   type(   u   selfu   messageu   startu   special_labelsu   labelsu   labelu   orig_bufferu   orig_generatoru   lineu
   vis_bufferu   vis_generatoru   bufferu
   body_startu   original_posu
   first_passu   stop(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   _install_messageu  sÀ    "
"	
&&)	
u   Babyl._install_messageN(   u   unseenu   deletedu   filedu   answeredu	   forwardedu   editedu   resentT(   u   __name__u
   __module__u   __qualname__u   __doc__u	   frozensetu   _special_labelsu   Noneu   Trueu   __init__u   addu   removeu   __setitem__u   get_messageu	   get_bytesu   get_fileu
   get_labelsu   _generate_tocu   _pre_mailbox_hooku   _pre_message_hooku   _post_message_hooku   _install_message(   u
   __locals__(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   Babylè  s    		
c             B   sA   |  Ee  Z d  Z d Z d d d „ Z d d „  Z d d „  Z d S(	   u   Messageu0   Message with mailbox-format-specific properties.c             C   s,  t  | t j j ƒ rM |  j t j | ƒ ƒ t  | t ƒ r(| j |  ƒ q(nÛ t  | t ƒ ru |  j t j	 | ƒ ƒ n³ t  | t
 ƒ r |  j t j | ƒ ƒ n‹ t  | t j ƒ rÈ |  j t j | ƒ ƒ n` t | d ƒ rð |  j t j | ƒ ƒ n8 | d k rt j j j |  ƒ n t d t | ƒ ƒ ‚ d S(   u   Initialize a Message instance.u   readu   Invalid message type: %sN(   u
   isinstanceu   emailu   messageu   Messageu   _become_messageu   copyu   deepcopyu   _explain_tou   bytesu   message_from_bytesu   stru   message_from_stringu   iou   TextIOWrapperu   message_from_fileu   hasattru   message_from_binary_fileu   Noneu   __init__u	   TypeErroru   type(   u   selfu   message(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   __init__ä  s    u   Message.__init__c             C   sM   t  | d g  ƒ } x4 | j D]) } | | k r | j | |  j | <q q Wd S(   u0   Assume the non-format-specific state of message.u   _type_specific_attributesN(   u   getattru   __dict__(   u   selfu   messageu   type_specificu   name(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   _become_message÷  s    u   Message._become_messagec             C   s#   t  | t ƒ r d St d ƒ ‚ d S(   u:   Copy format-specific state to message insofar as possible.Nu    Cannot convert to specified type(   u
   isinstanceu   Messageu	   TypeError(   u   selfu   message(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   _explain_toþ  s    u   Message._explain_toN(   u   __name__u
   __module__u   __qualname__u   __doc__u   Noneu   __init__u   _become_messageu   _explain_to(   u
   __locals__(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   Messageá  s   c             B   s¼   |  Ee  Z d  Z d Z d d d g Z d d d „ Z d d „  Z d	 d
 „  Z d d „  Z	 d d „  Z
 d d „  Z d d „  Z d d „  Z d d „  Z d d „  Z d d „  Z d d „  Z d S(   u   MaildirMessageu)   Message with Maildir-specific properties.u   _subdiru   _infou   _datec             C   s5   d |  _  d |  _ t j ƒ  |  _ t j |  | ƒ d S(   u%   Initialize a MaildirMessage instance.u   newu    N(   u   _subdiru   _infou   timeu   _dateu   Messageu   __init__(   u   selfu   message(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   __init__  s    		u   MaildirMessage.__init__c             C   s   |  j  S(   u   Return 'new' or 'cur'.(   u   _subdir(   u   self(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu
   get_subdir  s    u   MaildirMessage.get_subdirc             C   s8   | d k s | d k r$ | |  _  n t d | ƒ ‚ d S(   u   Set subdir to 'new' or 'cur'.u   newu   curu!   subdir must be 'new' or 'cur': %sN(   u   _subdiru
   ValueError(   u   selfu   subdir(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu
   set_subdir  s    u   MaildirMessage.set_subdirc             C   s+   |  j  j d ƒ r# |  j  d d … Sd Sd S(   u*   Return as a string the flags that are set.u   2,i   Nu    (   u   _infou
   startswith(   u   self(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu	   get_flags  s    u   MaildirMessage.get_flagsc             C   s    d d j  t | ƒ ƒ |  _ d S(   u)   Set the given flags and unset all others.u   2,u    N(   u   joinu   sortedu   _info(   u   selfu   flags(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu	   set_flags$  s    u   MaildirMessage.set_flagsc             C   s0   |  j  d j t |  j ƒ  ƒ t | ƒ Bƒ ƒ d S(   u.   Set the given flag(s) without changing others.u    N(   u	   set_flagsu   joinu   setu	   get_flags(   u   selfu   flag(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   add_flag(  s    u   MaildirMessage.add_flagc             C   s?   |  j  ƒ  r; |  j d j t |  j  ƒ  ƒ t | ƒ ƒ ƒ n  d S(   u7   Unset the given string flag(s) without changing others.u    N(   u	   get_flagsu	   set_flagsu   joinu   set(   u   selfu   flag(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   remove_flag,  s    u   MaildirMessage.remove_flagc             C   s   |  j  S(   u<   Return delivery date of message, in seconds since the epoch.(   u   _date(   u   self(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   get_date1  s    u   MaildirMessage.get_datec             C   s<   y t  | ƒ |  _ Wn" t k
 r7 t d | ƒ ‚ Yn Xd S(   u9   Set delivery date of message, in seconds since the epoch.u   can't convert to float: %sN(   u   floatu   _dateu
   ValueErroru	   TypeError(   u   selfu   date(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   set_date5  s    u   MaildirMessage.set_datec             C   s   |  j  S(   u%   Get the message's "info" as a string.(   u   _info(   u   self(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   get_info<  s    u   MaildirMessage.get_infoc             C   s5   t  | t ƒ r | |  _ n t d t | ƒ ƒ ‚ d S(   u    Set the message's "info" string.u   info must be a string: %sN(   u
   isinstanceu   stru   _infou	   TypeErroru   type(   u   selfu   info(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   set_info@  s    u   MaildirMessage.set_infoc             C   sX  t  | t ƒ rK | j |  j ƒ  ƒ | j |  j ƒ  ƒ | j |  j ƒ  ƒ n	t  | t ƒ r t	 |  j ƒ  ƒ } d | k rˆ | j
 d ƒ n  |  j ƒ  d k rª | j
 d ƒ n  d | k rÆ | j
 d ƒ n  d | k râ | j
 d ƒ n  d | k rþ | j
 d ƒ n  | j d	 t j |  j ƒ  ƒ ƒ n4t  | t ƒ r˜t	 |  j ƒ  ƒ } d | k r]| j d
 ƒ n  d | k ry| j d ƒ n  d | k rT| j d ƒ qTn¼ t  | t ƒ r,t	 |  j ƒ  ƒ } d | k rÕ| j d
 ƒ n  d | k rñ| j d ƒ n  d | k r| j d ƒ n  d | k rT| j d ƒ qTn( t  | t ƒ r>n t d t | ƒ ƒ ‚ d S(   u;   Copy Maildir-specific state to message insofar as possible.u   Su   Ru   curu   Ou   Tu   Du   Fu   Au   MAILER-DAEMONu   unseenu   repliedu   flaggedu   deletedu   answeredu   Pu	   forwardedu$   Cannot convert to specified type: %sN(   u
   isinstanceu   MaildirMessageu	   set_flagsu	   get_flagsu
   set_subdiru
   get_subdiru   set_dateu   get_dateu   _mboxMMDFMessageu   setu   add_flagu   set_fromu   timeu   gmtimeu	   MHMessageu   add_sequenceu   BabylMessageu	   add_labelu   Messageu	   TypeErroru   type(   u   selfu   messageu   flags(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   _explain_toG  sN    "u   MaildirMessage._explain_toN(   u   __name__u
   __module__u   __qualname__u   __doc__u   _type_specific_attributesu   Noneu   __init__u
   get_subdiru
   set_subdiru	   get_flagsu	   set_flagsu   add_flagu   remove_flagu   get_dateu   set_dateu   get_infou   set_infou   _explain_to(   u
   __locals__(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   MaildirMessage  s   c             B   s‰   |  Ee  Z d  Z d Z d g Z d d d „ Z d d „  Z d d d „ Z d	 d
 „  Z	 d d „  Z
 d d „  Z d d „  Z d d „  Z d S(   u   _mboxMMDFMessageu/   Message with mbox- or MMDF-specific properties.u   _fromc             C   s}   |  j  d d ƒ t | t j j ƒ ri | j ƒ  } | d k	 ri | j d ƒ ri |  j  | d d … ƒ qi n  t j	 |  | ƒ d S(   u'   Initialize an mboxMMDFMessage instance.u   MAILER-DAEMONu   From i   NT(
   u   set_fromu   Trueu
   isinstanceu   emailu   messageu   Messageu   get_unixfromu   Noneu
   startswithu   __init__(   u   selfu   messageu   unixfrom(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   __init__x  s    u   _mboxMMDFMessage.__init__c             C   s   |  j  S(   u    Return contents of "From " line.(   u   _from(   u   self(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   get_from  s    u   _mboxMMDFMessage.get_fromc             C   sN   | d k	 rA | d k r' t j ƒ  } n  | d t j | ƒ 7} n  | |  _ d S(   u>   Set "From " line, formatting and appending time_ if specified.u    NT(   u   Noneu   Trueu   timeu   gmtimeu   asctimeu   _from(   u   selfu   from_u   time_(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   set_from…  s
    u   _mboxMMDFMessage.set_fromc             C   s    |  j  d d ƒ |  j  d d ƒ S(   u*   Return as a string the flags that are set.u   Statusu    u   X-Status(   u   get(   u   self(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu	   get_flags  s    u   _mboxMMDFMessage.get_flagsc             C   s  t  | ƒ } d
 \ } } x4 d D], } | | k r | | 7} | j | ƒ q q Wx4 d D], } | | k rV | | 7} | j | ƒ qV qV W| d j t | ƒ ƒ 7} y |  j d | ƒ Wn" t k
 r× |  j d | ƒ Yn Xy |  j d | ƒ Wn" t k
 r|  j d | ƒ Yn Xd	 S(   u)   Set the given flags and unset all others.u    u   Ru   Ou   Du   Fu   Au   Statusu   X-StatusN(   u    u    (   u   Ru   O(   u   Du   Fu   A(   u   setu   removeu   joinu   sortedu   replace_headeru   KeyErroru
   add_header(   u   selfu   flagsu   status_flagsu   xstatus_flagsu   flag(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu	   set_flags‘  s&    

u   _mboxMMDFMessage.set_flagsc             C   s0   |  j  d j t |  j ƒ  ƒ t | ƒ Bƒ ƒ d S(   u.   Set the given flag(s) without changing others.u    N(   u	   set_flagsu   joinu   setu	   get_flags(   u   selfu   flag(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   add_flag§  s    u   _mboxMMDFMessage.add_flagc             C   sK   d |  k s d |  k rG |  j  d j t |  j ƒ  ƒ t | ƒ ƒ ƒ n  d S(   u7   Unset the given string flag(s) without changing others.u   Statusu   X-Statusu    N(   u	   set_flagsu   joinu   setu	   get_flags(   u   selfu   flag(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   remove_flag«  s    u   _mboxMMDFMessage.remove_flagc             C   s”  t  | t ƒ r$t |  j ƒ  ƒ } d | k r= | j d ƒ n  d | k rY | j d ƒ n  d | k ru | j d ƒ n  d | k r‘ | j d ƒ n  d | k r­ | j d ƒ n  | d	 =| d
 =d j |  j ƒ  j ƒ  d d … ƒ } y& | j	 t
 j t j | d ƒ ƒ ƒ Wqt t f k
 r YqXnlt  | t ƒ r\| j |  j ƒ  ƒ | j |  j ƒ  ƒ n4t  | t ƒ rât |  j ƒ  ƒ } d | k r™| j d ƒ n  d | k rµ| j d ƒ n  d | k rÑ| j d ƒ n  | d	 =| d
 =n® t  | t ƒ rht |  j ƒ  ƒ } d | k r| j d ƒ n  d | k r;| j d ƒ n  d | k rW| j d ƒ n  | d	 =| d
 =n( t  | t ƒ rzn t d t | ƒ ƒ ‚ d S(   uA   Copy mbox- or MMDF-specific state to message insofar as possible.u   Ou   curu   Fu   Au   Ru   Su   Du   Tu   statusu   x-statusu    i   Nu   %a %b %d %H:%M:%S %Yu   unseenu   repliedu   flaggedu   deletedu   answeredu$   Cannot convert to specified type: %siûÿÿÿ(   u
   isinstanceu   MaildirMessageu   setu	   get_flagsu
   set_subdiru   add_flagu   joinu   get_fromu   splitu   set_dateu   calendaru   timegmu   timeu   strptimeu
   ValueErroru   OverflowErroru   _mboxMMDFMessageu	   set_flagsu   set_fromu	   MHMessageu   add_sequenceu   BabylMessageu	   add_labelu   Messageu	   TypeErroru   type(   u   selfu   messageu   flagsu
   maybe_date(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   _explain_to°  s^    %

u   _mboxMMDFMessage._explain_toN(   u   __name__u
   __module__u   __qualname__u   __doc__u   _type_specific_attributesu   Noneu   __init__u   get_fromu   set_fromu	   get_flagsu	   set_flagsu   add_flagu   remove_flagu   _explain_to(   u
   __locals__(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   _mboxMMDFMessages  s   		u   _mboxMMDFMessagec             B   s   |  Ee  Z d  Z d Z d S(   u   mboxMessageu&   Message with mbox-specific properties.N(   u   __name__u
   __module__u   __qualname__u   __doc__(   u
   __locals__(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   mboxMessageä  s   c             B   sn   |  Ee  Z d  Z d Z d g Z d d d „ Z d d „  Z d d „  Z d	 d
 „  Z	 d d „  Z
 d d „  Z d S(   u	   MHMessageu$   Message with MH-specific properties.u
   _sequencesc             C   s   g  |  _  t j |  | ƒ d S(   u!   Initialize an MHMessage instance.N(   u
   _sequencesu   Messageu   __init__(   u   selfu   message(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   __init__í  s    	u   MHMessage.__init__c             C   s   |  j  d d … S(   u4   Return a list of sequences that include the message.N(   u
   _sequences(   u   self(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   get_sequencesò  s    u   MHMessage.get_sequencesc             C   s   t  | ƒ |  _ d S(   u3   Set the list of sequences that include the message.N(   u   listu
   _sequences(   u   selfu	   sequences(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   set_sequencesö  s    u   MHMessage.set_sequencesc             C   sN   t  | t ƒ r4 | |  j k rJ |  j j | ƒ qJ n t d t | ƒ ƒ ‚ d S(   u8   Add sequence to list of sequences including the message.u   sequence type must be str: %sN(   u
   isinstanceu   stru
   _sequencesu   appendu	   TypeErroru   type(   u   selfu   sequence(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   add_sequenceú  s    u   MHMessage.add_sequencec             C   s-   y |  j  j | ƒ Wn t k
 r( Yn Xd S(   uA   Remove sequence from the list of sequences including the message.N(   u
   _sequencesu   removeu
   ValueError(   u   selfu   sequence(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   remove_sequence  s    u   MHMessage.remove_sequencec             C   sÕ  t  | t ƒ r’ t |  j ƒ  ƒ } d | k r= | j d ƒ n | j d ƒ | j d ƒ d | k rs | j d ƒ n  d | k rÑ| j d ƒ qÑn?t  | t ƒ rt |  j ƒ  ƒ } d | k rÏ | j d ƒ n | j d	 ƒ d | k rø | j d ƒ n  d | k rÑ| j d
 ƒ qÑnº t  | t ƒ rMx¨ |  j ƒ  D] } | j | ƒ q3Wn„ t  | t	 ƒ r©t |  j ƒ  ƒ } d | k rŠ| j
 d ƒ n  d | k rÑ| j
 d ƒ qÑn( t  | t ƒ r»n t d t | ƒ ƒ ‚ d S(   u6   Copy MH-specific state to message insofar as possible.u   unseenu   curu   Su   flaggedu   Fu   repliedu   Ru   ROu   Ou   Au   answeredu$   Cannot convert to specified type: %sN(   u
   isinstanceu   MaildirMessageu   setu   get_sequencesu
   set_subdiru   add_flagu   _mboxMMDFMessageu	   MHMessageu   add_sequenceu   BabylMessageu	   add_labelu   Messageu	   TypeErroru   type(   u   selfu   messageu	   sequencesu   sequence(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   _explain_to	  s@    u   MHMessage._explain_toN(   u   __name__u
   __module__u   __qualname__u   __doc__u   _type_specific_attributesu   Noneu   __init__u   get_sequencesu   set_sequencesu   add_sequenceu   remove_sequenceu   _explain_to(   u
   __locals__(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu	   MHMessageè  s   	c             B   s•   |  Ee  Z d  Z d Z d d g Z d d d „ Z d d „  Z d d	 „  Z d
 d „  Z	 d d „  Z
 d d „  Z d d „  Z d d „  Z d d „  Z d S(   u   BabylMessageu'   Message with Babyl-specific properties.u   _labelsu   _visiblec             C   s)   g  |  _  t ƒ  |  _ t j |  | ƒ d S(   u$   Initialize an BabylMessage instance.N(   u   _labelsu   Messageu   _visibleu   __init__(   u   selfu   message(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   __init__5  s    	u   BabylMessage.__init__c             C   s   |  j  d d … S(   u'   Return a list of labels on the message.N(   u   _labels(   u   self(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu
   get_labels;  s    u   BabylMessage.get_labelsc             C   s   t  | ƒ |  _ d S(   u&   Set the list of labels on the message.N(   u   listu   _labels(   u   selfu   labels(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu
   set_labels?  s    u   BabylMessage.set_labelsc             C   sN   t  | t ƒ r4 | |  j k rJ |  j j | ƒ qJ n t d t | ƒ ƒ ‚ d S(   u+   Add label to list of labels on the message.u   label must be a string: %sN(   u
   isinstanceu   stru   _labelsu   appendu	   TypeErroru   type(   u   selfu   label(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu	   add_labelC  s    u   BabylMessage.add_labelc             C   s-   y |  j  j | ƒ Wn t k
 r( Yn Xd S(   u4   Remove label from the list of labels on the message.N(   u   _labelsu   removeu
   ValueError(   u   selfu   label(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   remove_labelK  s    u   BabylMessage.remove_labelc             C   s   t  |  j ƒ S(   u3   Return a Message representation of visible headers.(   u   Messageu   _visible(   u   self(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   get_visibleR  s    u   BabylMessage.get_visiblec             C   s   t  | ƒ |  _ d S(   u2   Set the Message representation of visible headers.N(   u   Messageu   _visible(   u   selfu   visible(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   set_visibleV  s    u   BabylMessage.set_visiblec             C   sŽ   xG |  j  j ƒ  D]6 } | |  k r< |  j  j | |  | ƒ q |  j  | =q Wx= d D]5 } | |  k rQ | |  j  k rQ |  | |  j  | <qQ qQ Wd S(	   u9   Update and/or sensibly generate a set of visible headers.u   Dateu   Fromu   Reply-Tou   Tou   CCu   SubjectN(   u   Dateu   Fromu   Reply-Tou   Tou   CCu   Subject(   u   _visibleu   keysu   replace_header(   u   selfu   header(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   update_visibleZ  s    u   BabylMessage.update_visiblec             C   s  t  | t ƒ rº t |  j ƒ  ƒ } d | k r= | j d ƒ n | j d ƒ | j d ƒ d | k so d | k r | j d ƒ n  d | k r› | j d ƒ n  d	 | k r| j d
 ƒ qnRt  | t ƒ r?t |  j ƒ  ƒ } d | k r÷ | j d ƒ n | j d ƒ d	 | k r | j d ƒ n  d | k r| j d ƒ qnÍ t  | t ƒ r›t |  j ƒ  ƒ } d | k r|| j d ƒ n  d | k r| j d ƒ qnq t  | t	 ƒ rä| j
 |  j ƒ  ƒ xL |  j ƒ  D] } | j | ƒ qÊWn( t  | t ƒ rön t d t | ƒ ƒ ‚ d S(   u9   Copy Babyl-specific state to message insofar as possible.u   unseenu   curu   Su	   forwardedu   resentu   Pu   answeredu   Ru   deletedu   Tu   ROu   Ou   Du   Au   repliedu$   Cannot convert to specified type: %sN(   u
   isinstanceu   MaildirMessageu   setu
   get_labelsu
   set_subdiru   add_flagu   _mboxMMDFMessageu	   MHMessageu   add_sequenceu   BabylMessageu   set_visibleu   get_visibleu	   add_labelu   Messageu	   TypeErroru   type(   u   selfu   messageu   labelsu   label(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   _explain_toe  sF    u   BabylMessage._explain_toN(   u   __name__u
   __module__u   __qualname__u   __doc__u   _type_specific_attributesu   Noneu   __init__u
   get_labelsu
   set_labelsu	   add_labelu   remove_labelu   get_visibleu   set_visibleu   update_visibleu   _explain_to(   u
   __locals__(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   BabylMessage0  s   c             B   s   |  Ee  Z d  Z d Z d S(   u   MMDFMessageu&   Message with MMDF-specific properties.N(   u   __name__u
   __module__u   __qualname__u   __doc__(   u
   __locals__(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   MMDFMessage  s   c             B   sþ   |  Ee  Z d  Z d Z d% d d „ Z d% d d „ Z d% d d „ Z d% d d	 „ Z d% d
 d „ Z	 d d „  Z
 d d „  Z d d d „ Z d d „  Z d d „  Z d d „  Z d d „  Z d d „  Z d d „  Z d d  „  Z d! d" „  Z e d# d$ „  ƒ Z d% S(&   u
   _ProxyFileu   A read-only wrapper of a file.c             C   s4   | |  _  | d k r' | j ƒ  |  _ n	 | |  _ d S(   u   Initialize a _ProxyFile.N(   u   _fileu   Noneu   tellu   _pos(   u   selfu   fu   pos(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   __init__–  s    	u   _ProxyFile.__init__c             C   s   |  j  | |  j j ƒ S(   u   Read bytes.(   u   _readu   _fileu   read(   u   selfu   size(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   readž  s    u   _ProxyFile.readc             C   s   |  j  | |  j j ƒ S(   u   Read bytes.(   u   _readu   _fileu   read1(   u   selfu   size(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   read1¢  s    u   _ProxyFile.read1c             C   s   |  j  | |  j j ƒ S(   u   Read a line.(   u   _readu   _fileu   readline(   u   selfu   size(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   readline¦  s    u   _ProxyFile.readlinec             C   sW   g  } xJ |  D]B } | j  | ƒ | d k	 r | t | ƒ 8} | d k rO PqO q q W| S(   u   Read multiple lines.i    N(   u   appendu   Noneu   len(   u   selfu   sizehintu   resultu   line(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu	   readlinesª  s    u   _ProxyFile.readlinesc             c   s*   x# |  j  ƒ  } | s t ‚ n  | Vq d S(   u   Iterate over lines.N(   u   readlineu   StopIteration(   u   selfu   line(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   __iter__µ  s
    	u   _ProxyFile.__iter__c             C   s   |  j  S(   u   Return the position.(   u   _pos(   u   self(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   tell½  s    u   _ProxyFile.telli    c             C   sK   | d k r" |  j  j |  j ƒ n  |  j  j | | ƒ |  j  j ƒ  |  _ d S(   u   Change position.i   N(   u   _fileu   seeku   _posu   tell(   u   selfu   offsetu   whence(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   seekÁ  s    u   _ProxyFile.seekc             C   s>   t  |  d ƒ r: t  |  j d ƒ r1 |  j j ƒ  n  |  ` n  d S(   u   Close the file.u   _fileu   closeN(   u   hasattru   _fileu   close(   u   self(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   closeÈ  s    u   _ProxyFile.closec             C   sJ   | d k r d } n  |  j j |  j ƒ | | ƒ } |  j j ƒ  |  _ | S(   u"   Read size bytes using read_method.i   Niÿÿÿÿ(   u   Noneu   _fileu   seeku   _posu   tell(   u   selfu   sizeu   read_methodu   result(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   _readÏ  s    	u   _ProxyFile._readc             C   s   |  S(   u!   Context manager protocol support.(    (   u   self(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu	   __enter__Ø  s    u   _ProxyFile.__enter__c             G   s   |  j  ƒ  d  S(   N(   u   close(   u   selfu   exc(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   __exit__Ü  s    u   _ProxyFile.__exit__c             C   s   |  j  j ƒ  S(   N(   u   _fileu   readable(   u   self(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   readableß  s    u   _ProxyFile.readablec             C   s   |  j  j ƒ  S(   N(   u   _fileu   writable(   u   self(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   writableâ  s    u   _ProxyFile.writablec             C   s   |  j  j ƒ  S(   N(   u   _fileu   seekable(   u   self(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   seekableå  s    u   _ProxyFile.seekablec             C   s   |  j  j ƒ  S(   N(   u   _fileu   flush(   u   self(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   flushè  s    u   _ProxyFile.flushc             C   s3   t  |  d ƒ s d St  |  j d ƒ s) d S|  j j S(   Nu   _fileu   closedTF(   u   hasattru   Trueu   _fileu   Falseu   closed(   u   self(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   closedë  s
    u   _ProxyFile.closedN(   u   __name__u
   __module__u   __qualname__u   __doc__u   Noneu   __init__u   readu   read1u   readlineu	   readlinesu   __iter__u   tellu   seeku   closeu   _readu	   __enter__u   __exit__u   readableu   writableu   seekableu   flushu   propertyu   closed(   u
   __locals__(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu
   _ProxyFile“  s$   	u
   _ProxyFilec             B   s_   |  Ee  Z d  Z d Z d d d d „ Z d d „  Z d d d „ Z d	 d
 „  Z d d „  Z	 d S(   u   _PartialFileu&   A read-only wrapper of part of a file.c             C   s)   t  j |  | | ƒ | |  _ | |  _ d S(   u   Initialize a _PartialFile.N(   u
   _ProxyFileu   __init__u   _startu   _stop(   u   selfu   fu   startu   stop(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   __init__÷  s    	u   _PartialFile.__init__c             C   s   t  j |  ƒ |  j S(   u*   Return the position with respect to start.(   u
   _ProxyFileu   tellu   _start(   u   self(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   tellý  s    u   _PartialFile.telli    c             C   sY   | d k r! |  j  |  _ d } n! | d k rB |  j |  _ d } n  t j |  | | ƒ d S(   u8   Change position, possibly with respect to start or stop.i    i   i   N(   u   _startu   _posu   _stopu
   _ProxyFileu   seek(   u   selfu   offsetu   whence(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   seek  s    		u   _PartialFile.seekc             C   s`   |  j  |  j } | d k r  d S| d k sD | d k  sD | | k rM | } n  t j |  | | ƒ S(   u;   Read size bytes using read_method, honoring start and stop.i    s    N(   u   _stopu   _posu   Noneu
   _ProxyFileu   _read(   u   selfu   sizeu   read_methodu	   remaining(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   _read  s    $	u   _PartialFile._readc             C   s   t  |  d ƒ r |  ` n  d  S(   Nu   _file(   u   hasattru   _file(   u   self(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   close  s    u   _PartialFile.closeN(
   u   __name__u
   __module__u   __qualname__u   __doc__u   Noneu   __init__u   tellu   seeku   _readu   close(   u
   __locals__(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   _PartialFileô  s   
	u   _PartialFilec          3   C   s<  d } yët r’ y t j |  t j t j Bƒ Wq’ t k
 rŽ } z? | j t j t j t j	 f k ry t
 d |  j ƒ ‚ n ‚  WYd d } ~ Xq’ Xn  | rðy! t |  j d ƒ } | j ƒ  WnG t k
 r} z' | j t j t j	 f k rí d S‚  WYd d } ~ Xn Xyf t t d ƒ rHt j | j |  j d ƒ d } t j | j ƒ n  t j | j |  j d ƒ d } Wqðt k
 rì} za | j t j k s±t j d k r×| j t j k r×t j | j ƒ t
 d |  j ƒ ‚ n ‚  WYd d } ~ XqðXn  WnD t rt j |  t j ƒ n  | r0t j |  j d ƒ n  ‚  Yn Xd S(	   u(   Lock file f using lockf and dot locking.u   lockf: lock unavailable: %sNu   .locku   linku   os2u   dot lock unavailable: %sFT(   u   Falseu   fcntlu   lockfu   LOCK_EXu   LOCK_NBu   IOErroru   errnou   EAGAINu   EACCESu   EROFSu   ExternalClashErroru   nameu   _create_temporaryu   closeu   hasattru   osu   linku   Trueu   unlinku   renameu   OSErroru   EEXISTu   removeu   LOCK_UN(   u   fu   dotlocku   dotlock_doneu   eu   pre_lock(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu
   _lock_file  sL    !
!u
   _lock_filec             C   sP   t  r t  j |  t  j ƒ n  t j j |  j d ƒ rL t j |  j d ƒ n  d S(   u*   Unlock file f using lockf and dot locking.u   .lockN(   u   fcntlu   lockfu   LOCK_UNu   osu   pathu   existsu   nameu   remove(   u   f(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   _unlock_fileH  s    u   _unlock_filec             C   sL   t  j |  t  j t  j Bt  j Bd ƒ } z t |  d ƒ SWd t  j | ƒ Xd S(   uC   Create a file if it doesn't exist and open for reading and writing.i¶  u   rb+N(   u   osu   openu   O_CREATu   O_EXCLu   O_RDWRu   close(   u   pathu   fd(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   _create_carefullyO  s    &u   _create_carefullyc             C   s2   t  d |  t t j ƒ  ƒ t j ƒ  t j ƒ  f ƒ S(   uB   Create a temp file based on path and open for reading and writing.u   %s.%s.%s.%s(   u   _create_carefullyu   intu   timeu   socketu   gethostnameu   osu   getpid(   u   path(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   _create_temporaryW  s    	u   _create_temporaryc             C   s3   |  j  ƒ  t t d ƒ r/ t j |  j ƒ  ƒ n  d S(   u0   Ensure changes to file f are physically on disk.u   fsyncN(   u   flushu   hasattru   osu   fsyncu   fileno(   u   f(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   _sync_flush]  s    
u   _sync_flushc             C   s   t  |  ƒ |  j ƒ  d S(   u:   Close file f, ensuring all changes are physically on disk.N(   u   _sync_flushu   close(   u   f(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   _sync_closec  s    
u   _sync_closec             B   s   |  Ee  Z d  Z d Z d S(   u   Erroru"   Raised for module-specific errors.N(   u   __name__u
   __module__u   __qualname__u   __doc__(   u
   __locals__(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   Errori  s   u   Errorc             B   s   |  Ee  Z d  Z d Z d S(   u   NoSuchMailboxErroru:   The specified mailbox does not exist and won't be created.N(   u   __name__u
   __module__u   __qualname__u   __doc__(   u
   __locals__(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   NoSuchMailboxErrorl  s   u   NoSuchMailboxErrorc             B   s   |  Ee  Z d  Z d Z d S(   u   NotEmptyErroru>   The specified mailbox is not empty and deletion was requested.N(   u   __name__u
   __module__u   __qualname__u   __doc__(   u
   __locals__(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   NotEmptyErroro  s   u   NotEmptyErrorc             B   s   |  Ee  Z d  Z d Z d S(   u   ExternalClashErroru)   Another process caused an action to fail.N(   u   __name__u
   __module__u   __qualname__u   __doc__(   u
   __locals__(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   ExternalClashErrorr  s   u   ExternalClashErrorc             B   s   |  Ee  Z d  Z d Z d S(   u   FormatErroru)   A file appears to have an invalid format.N(   u   __name__u
   __module__u   __qualname__u   __doc__(   u
   __locals__(    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   FormatErroru  s   u   FormatError(4   u   __doc__u   sysu   osu   timeu   calendaru   socketu   errnou   copyu   warningsu   emailu   email.messageu   email.generatoru   iou
   contextlibu   platformu   ImportErroru   fcntlu   Noneu   __all__u   linesepu   encodeu   Mailboxu   Maildiru   _singlefileMailboxu	   _mboxMMDFu   mboxu   MMDFu   MHu   Babylu   messageu   Messageu   MaildirMessageu   _mboxMMDFMessageu   mboxMessageu	   MHMessageu   BabylMessageu   MMDFMessageu
   _ProxyFileu   _PartialFileu   Trueu
   _lock_fileu   _unlock_fileu   _create_carefullyu   _create_temporaryu   _sync_flushu   _sync_closeu	   Exceptionu   Erroru   NoSuchMailboxErroru   NotEmptyErroru   ExternalClashErroru   FormatError(    (    (    u,   /opt/alt/python33/lib64/python3.3/mailbox.pyu   <module>   sj   	çÿ CÄB4-ÿ 5ù%mqH_a'-