-í
®ƒæ>c       sŒ   d  k  Z  d  k Z d  k Z d k l Z e  i d ƒ Z d „  Z d „  Z d „  Z	 d „  Z
 d „  Z d „  Z d	 „  Z d
 „  Z d „  Z d  S(   N(   s   UIBases   ^("(?:[^"]|\\")*")c     sM   g  } x! |  D] } | i t | ƒ ƒ q Wt i ƒ  i d d i | ƒ ƒ d  S(   Ns   imaps    (	   s   msgs   argss   args   appends   strs   UIBases   getglobaluis   debugs   join(   s   argss   msgs   arg(    (    s<   /usr/pkg/lib/python2p2/site-packages/offlineimap/imaputil.pys   debug s
     c    s~   t  d |  ƒ |  d d j o |  d d j o |  Sn |  d d !}  |  i d d ƒ }  |  i d d ƒ }  t  d	 |  ƒ |  Sd
 S(   s   Takes a string which may or may not be quoted and returns it, unquoted.
    This function does NOT consider parenthised lists to be quoted.
    s   dequote() called with input:i    s   "iÿÿÿÿi   s   \"s   \\s   \s   dequote() returning:N(   s   debugs   strings   replace(   s   string(    (    s<   /usr/pkg/lib/python2p2/site-packages/offlineimap/imaputil.pys   dequote s     #c    sH   |  d d j p |  d d j o t d |  ‚ n t |  d d !ƒ Sd  S(   Ni    s   (iÿÿÿÿs   )s%   Passed string '%s' is not a flag listi   (   s   strings
   ValueErrors	   imapsplit(   s   string(    (    s<   /usr/pkg/lib/python2p2/site-packages/offlineimap/imaputil.pys	   flagsplit+ s    "c    si   t  d |  ƒ h  } d } x8 | t |  ƒ j  o$ |  | d | |  | <| d 7} q Wt  d | ƒ | Sd  S(   Ns   options2hash called with input:i    i   i   s   options2hash returning:(   s   debugs   lists   retvals   counters   len(   s   lists   retvals   counter(    (    s<   /usr/pkg/lib/python2p2/site-packages/offlineimap/imaputil.pys   options2hash0 s     c    s   t  t |  ƒ ƒ Sd  S(   N(   s   options2hashs	   flagsplits   string(   s   string(    (    s<   /usr/pkg/lib/python2p2/site-packages/offlineimap/imaputil.pys
   flags2hash: s    c    sÍ  t  d |  ƒ t |  ƒ t i j o÷ t  d ƒ g  } xÈ t t |  ƒ ƒ D]´ } | d o] |  | } | i
 d d ƒ } | i
 d d ƒ } d | } t  d	 | | f ƒ | i | ƒ nG |  | } t i d
 d | ƒ } t  d | | f ƒ | i t | ƒ ƒ qF Wt  d t | ƒ ƒ | Sn |  i ƒ  }
 g  } x‰t |
 ƒ o{|
 d d j o‘ d } d } xT | oL |
 | d j o | d 8} n  |
 | d j o | d 7} n | d 7} q\W|
 d | !} |
 | i ƒ  }
 | i | ƒ nÖ |
 d d j o? t i |
 ƒ i d ƒ }	 |
 t |	 ƒ i ƒ  }
 | i |	 ƒ n† t i |
 d d ƒ} t | ƒ } | d j o" | i | d ƒ | d }
 q/n6 | d j o | i | d ƒ Pn | d j o Pn q/Wt  d | ƒ | Sd S(   sõ   Takes a string from an IMAP conversation and returns a list containing
    its components.  One example string is:

    (\HasNoChildren) "." "INBOX.Sent"

    The result from parsing this will be:

    ['(\HasNoChildren)', '"."', '"INBOX.Sent"']s   imapsplit() called with input:s3   imapsplit() got a non-string input; working around.i   s   \s   \\s   "s   \"s   "%s"s)   imapsplit() non-string [%d]: Appending %ss   \{\d+\}$s    s4   imapsplit() non-string [%d]: Feeding %s to recursions$   imapsplit() non-string: returning %si    s   (i   s   )s   maxsplits   imapsplit() returning:N(   s   debugs
   imapstrings   types   typess
   StringTypes   retvals   ranges   lens   is   args   replaces   appends   res   subs   extends	   imapsplits   strs   strips   workstrs   rparencs   rparenis	   parenlists   lstrips   quoteres   searchs   groups	   quotelists   strings   splits   splitss	   splitslen(   s
   imapstrings   rparencs   rparenis   splitss   is	   parenlists   args	   splitslens   retvals	   quotelists   workstr(    (    s<   /usr/pkg/lib/python2p2/site-packages/offlineimap/imaputil.pys	   imapsplit= sl     
 


  

c    s»   h  d d <d d <d d <d d <d	 d
 <} g  } g  i } |  d d !i ƒ  D] } | | i ƒ  ƒ qT ~ } x3 | D]+ } | i
 | ƒ o | i | | ƒ n qz W| i ƒ  | Sd  S(   Ns   Ss   \seens   Rs	   \answereds   Fs   \flaggeds   Ts   \deleteds   Ds   \drafti   iÿÿÿÿ(   s   flagmaps   retvals   appends   _[1]s
   flagstrings   splits   xs   lowers   imapflaglists   imapflags   has_keys   sort(   s
   flagstrings   _[1]s   flagmaps   imapflaglists   xs   retvals   imapflag(    (    s<   /usr/pkg/lib/python2p2/site-packages/offlineimap/imaputil.pys   flagsimap2maildir– s    3  
c    s’   h  d d <d d <d d <d d <d	 d
 <} g  } x3 |  D]+ } | i | ƒ o | i | | ƒ n q@ W| i ƒ  d d i | ƒ d Sd  S(   Ns   \Seens   Ss	   \Answereds   Rs   \Flaggeds   Fs   \Deleteds   Ts   \Drafts   Ds   (s    s   )(   s   flagmaps   retvals   lists   mdflags   has_keys   appends   sorts   join(   s   lists   retvals   flagmaps   mdflag(    (    s<   /usr/pkg/lib/python2p2/site-packages/offlineimap/imaputil.pys   flagsmaildir2imap¤ s    3 
c    s¾   t  } t  } g  } d „  } xh |  D]` } | t  j o | } | } n> | | d j o
 | } n# | i | | | ƒ ƒ | } | } q" W| t  j o | i | | | ƒ ƒ n d i | ƒ Sd  S(   Nc    s7   |  | j o t |  ƒ Sn t |  ƒ d t | ƒ Sd  S(   Ns   :(   s   starts   ends   str(   s   starts   end(    (    s<   /usr/pkg/lib/python2p2/site-packages/offlineimap/imaputil.pys   getlist¶ s    i   s   ,(	   s   Nones   starts   ends   retvals   getlists   lists   items   appends   join(   s   lists   starts   ends   items   retvals   getlist(    (    s<   /usr/pkg/lib/python2p2/site-packages/offlineimap/imaputil.pys   listjoin± s"    	 


(   s   res   strings   typess   offlineimap.uis   UIBases   compiles   quoteres   debugs   dequotes	   flagsplits   options2hashs
   flags2hashs	   imapsplits   flagsimap2maildirs   flagsmaildir2imaps   listjoin(   s   quoteres   options2hashs
   flags2hashs   strings	   flagsplits   listjoins   res	   imapsplits   UIBases   flagsimap2maildirs   debugs   flagsmaildir2imaps   dequotes   types(    (    s<   /usr/pkg/lib/python2p2/site-packages/offlineimap/imaputil.pys   ? s   				
		Y		