-í
…ð>c       sÕ   d  k  l Z d k l Z d k l Z d k l Z d k Z	 d k	 Z	 d k
 Z
 d k Z d k Z d k Z e
 i d ƒ Z e
 i d ƒ Z e
 i d ƒ Z d a e d ƒ a e ƒ  a d	 „  Z d
 e f d „  ƒ  YZ d S(   (   s
   BaseFolder(   s   imaputil(   s   UIBase(   s   LockNs   ,FMD5=([0-9a-f]{32})s   ,U=(\d+)s   :.*2,([A-Z]+)i    c     sm   t  i ƒ  zQ t t i ƒ  ƒ }  |  t j o t d 7a |  t f Sn |  a d a |  t f SWd  t  i ƒ  Xd  S(   Ni   i    (   s   timelocks   acquires   longs   times   thistimes   lasttimes   timeseqs   release(   s   thistime(    (    sB   /usr/pkg/lib/python2p2/site-packages/offlineimap/folder/Maildir.pys
   gettimeseq! s     

 s   MaildirFolderc      st   t  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d	 „  Z
 d
 „  Z d „  Z d „  Z RS(   Nc    sG   | |  _  | |  _ | |  _ t |  _ | |  _ | |  _ t i	 |  ƒ d  S(   N(
   s   names   selfs   roots   seps   Nones   messagelists
   repositorys   accountnames
   BaseFolders   __init__(   s   selfs   roots   names   seps
   repositorys   accountname(    (    sB   /usr/pkg/lib/python2p2/site-packages/offlineimap/folder/Maildir.pys   __init__1 s    						c    s   |  i Sd  S(   N(   s   selfs   accountname(   s   self(    (    sB   /usr/pkg/lib/python2p2/site-packages/offlineimap/folder/Maildir.pys   getaccountname: s    c    s#   t  i i |  i ƒ  |  i ƒ  ƒ Sd  S(   N(   s   oss   paths   joins   selfs   getroots   getname(   s   self(    (    sB   /usr/pkg/lib/python2p2/site-packages/offlineimap/folder/Maildir.pys   getfullname= s    c    s   d Sd S(   sP   Maildirs have no notion of uidvalidity, so we just return a magic
        token.i*   N(    (   s   self(    (    sB   /usr/pkg/lib/python2p2/site-packages/offlineimap/folder/Maildir.pys   getuidvalidity@ s     c    sÐ  h  } g  } d } xu d d g D]g } t i i |  i ƒ  | ƒ } | i
 g  i }
 t i | ƒ D] }	 |
 t i i | |	 ƒ ƒ q] ~
 ƒ q Wx;| D]3} t i i | ƒ } t i | ƒ } | p( t i |  i ƒ  ƒ i ƒ  | i d ƒ j o | } | d 8} nG t i | ƒ } t } | o | } | d 8} n t | i d ƒ ƒ } t i | ƒ } g  } | o4 g  i }
 | i d ƒ D] } |
 | ƒ qx~
 } n | i# ƒ  h  | d <| d <| d <| | <q‘ W| Sd S(	   s±   Cache the message list.  Maildir flags are:
        R (replied)
        S (seen)
        T (trashed)
        D (draft)
        F (flagged)
        and must occur in ASCII order.iÿÿÿÿs   news   curi   s   uids   flagss   filenameN($   s   retvals   filess   nouidcounters   dirannexs   oss   paths   joins   selfs   getfullnames   fulldirnames   extends   appends   _[1]s   listdirs   filenames   files   basenames   messagenames   foldermatchres   searchs   foldermatchs   md5s   news   getvisiblenames	   hexdigests   groups   uids
   uidmatchres   uidmatchs   Nones   longs   flagmatchres	   flagmatchs   flagss   xs   sort(   s   selfs   filess   uids   foldermatchs   files   dirannexs   uidmatchs   nouidcounters   fulldirnames   filenames   _[1]s   flagss   messagenames	   flagmatchs   xs   retval(    (    sB   /usr/pkg/lib/python2p2/site-packages/offlineimap/folder/Maildir.pys   _scanfolderE s<       - 3 
)c    s   |  i ƒ  |  _ d  S(   N(   s   selfs   _scanfolders   messagelist(   s   self(    (    sB   /usr/pkg/lib/python2p2/site-packages/offlineimap/folder/Maildir.pys   cachemessagelistr s    c    s   |  i Sd  S(   N(   s   selfs   messagelist(   s   self(    (    sB   /usr/pkg/lib/python2p2/site-packages/offlineimap/folder/Maildir.pys   getmessagelistu s    c    sJ   |  i | d } t | d ƒ } | i ƒ  } | i ƒ  | i	 d d ƒ Sd  S(   Ns   filenames   rts   
s   
(
   s   selfs   messagelists   uids   filenames   opens   files   reads   retvals   closes   replace(   s   selfs   uids   files   retvals   filename(    (    sB   /usr/pkg/lib/python2p2/site-packages/offlineimap/folder/Maildir.pys
   getmessagex s
    
c    s·  t  i ƒ  } | i d d t | ƒ t | ƒ f ƒ | d j  o | Sn | |  i	 j o |  i
 | | ƒ | Sn d | j o t i i |  i ƒ  d ƒ } n t i i |  i ƒ  d ƒ } t i i |  i ƒ  d ƒ } t } d } x´ d o¬ | d	 j o t d
 | ‚ n t ƒ  \ } }
 d | |
 t i ƒ  t i ƒ  | t i |  i ƒ  ƒ i ƒ  f } t i i t i i | | ƒ ƒ o t  i! d ƒ | d 7} n Pqà W| i" d ƒ d }	 | i d d |	 ƒ t$ t i i | |	 ƒ d ƒ } | i& | ƒ | i' ƒ  | i d d |	 | f ƒ t i( t i i | |	 ƒ t i i | | ƒ ƒ t i) t i i | |	 ƒ ƒ h  | d <g  d <t i i | | ƒ d <|  i	 | <|  i
 | | ƒ | i d d | ƒ | Sd  S(   Ns   maildirs9   savemessage: called to write with flags %s and content %si    s   Ss   curs   news   tmpi   i   s   Couldn't write to file %ss   %d_%d.%d.%s,U=%d,FMD5=%si   s   ,s$   savemessage: using temporary name %ss   wts!   savemessage: moving from %s to %ss   uids   flagss   filenames   savemessage: returning uid %d(*   s   UIBases   getglobaluis   uis   debugs   reprs   flagss   contents   uids   selfs   messagelists   savemessageflagss   oss   paths   joins   getfullnames   newdirs   tmpdirs   Nones   messagenames   attemptss   IOErrors
   gettimeseqs   timevals   timeseqs   getpids   sockets   gethostnames   md5s   news   getvisiblenames	   hexdigests   existss   times   sleeps   splits   tmpmessagenames   opens   files   writes   closes   links   unlink(   s   selfs   uids   contents   flagss   messagenames   newdirs   attemptss   files   tmpdirs   tmpmessagenames   timeseqs   timevals   ui(    (    sB   /usr/pkg/lib/python2p2/site-packages/offlineimap/folder/Maildir.pys   savemessage sH    & ="
7c    s   |  i | d Sd  S(   Ns   flags(   s   selfs   messagelists   uid(   s   selfs   uid(    (    sB   /usr/pkg/lib/python2p2/site-packages/offlineimap/folder/Maildir.pys   getmessageflags³ s    c 	   sQ  |  i | d } t i i | ƒ \ } } d | j o t i i
 |  i ƒ  d ƒ } n t i i
 |  i ƒ  d ƒ } d } t i d | ƒ } | o& | i d ƒ } | i d ƒ d } n t i d	 d
 | ƒ } | i ƒ  | d d
 i
 | ƒ 7} | | 7} t i i
 | | ƒ } | | j o6 t i | | ƒ | |  i | d <| |  i | d <n d  S(   Ns   filenames   Ss   curs   news   :s   (:.*)$i   i    s   2,[A-Z]*s    s   2,s   flags(   s   selfs   messagelists   uids   oldfilenames   oss   paths   splits   newpaths   newnames   flagss   joins   getfullnames   infostrs   res   searchs	   infomatchs   groups   subs   sorts   newfilenames   rename(	   s   selfs   uids   flagss   newpaths   oldfilenames   newnames   infostrs   newfilenames	   infomatch(    (    sB   /usr/pkg/lib/python2p2/site-packages/offlineimap/folder/Maildir.pys   savemessageflags¶ s&    

c    s‘   | |  i j o d  Sn |  i | d } y t i | ƒ WnE t j
 o9 |  i ƒ  } | | j o t i | | d ƒ n n X|  i | =d  S(   Ns   filename(	   s   uids   selfs   messagelists   filenames   oss   unlinks   OSErrors   _scanfolders
   newmsglist(   s   selfs   uids
   newmsglists   filename(    (    sB   /usr/pkg/lib/python2p2/site-packages/offlineimap/folder/Maildir.pys   deletemessageÏ s    (   s   __name__s
   __module__s   __init__s   getaccountnames   getfullnames   getuidvaliditys   _scanfolders   cachemessagelists   getmessagelists
   getmessages   savemessages   getmessageflagss   savemessageflagss   deletemessage(    (    (    sB   /usr/pkg/lib/python2p2/site-packages/offlineimap/folder/Maildir.pys   MaildirFolder0 s   						-				4		(   s   Bases
   BaseFolders   offlineimaps   imaputils   offlineimap.uis   UIBases	   threadings   Locks   os.paths   oss   res   times   sockets   md5s   compiles   foldermatchres
   uidmatchres   flagmatchres   timeseqs   longs   lasttimes   timelocks
   gettimeseqs   MaildirFolder(   s   foldermatchres
   gettimeseqs   Locks   imaputils   flagmatchres   res   UIBases   MaildirFolders   oss   sockets   times   md5s
   uidmatchres
   BaseFolder(    (    sB   /usr/pkg/lib/python2p2/site-packages/offlineimap/folder/Maildir.pys   ? s   6		