-í ®ƒæ>csŒdkZdkZdkZdklZeidƒZd„Zd„Zd„Z d„Z d„Z d„Z d „Z d „Zd „ZdS( N(sUIBases^("(?:[^"]|\\")*")csMg}x!|D]}|it|ƒƒq Wtiƒiddi|ƒƒdS(Nsimaps ( smsgsargssargsappendsstrsUIBases getglobaluisdebugsjoin(sargssmsgsarg((s</usr/pkg/lib/python2p2/site-packages/offlineimap/imaputil.pysdebugs cs~td|ƒ|ddjo|ddj o|Sn|dd!}|iddƒ}|iddƒ}td |ƒ|Sd S( sTakes a string which may or may not be quoted and returns it, unquoted. This function does NOT consider parenthised lists to be quoted. sdequote() called with input:is"iÿÿÿÿis\"s\\s\sdequote() returning:N(sdebugsstringsreplace(sstring((s</usr/pkg/lib/python2p2/site-packages/offlineimap/imaputil.pysdequotes #  csH|ddjp|ddjotd|‚nt|dd!ƒSdS(Nis(iÿÿÿÿs)s%Passed string '%s' is not a flag listi(sstrings ValueErrors imapsplit(sstring((s</usr/pkg/lib/python2p2/site-packages/offlineimap/imaputil.pys flagsplit+s"csitd|ƒh}d}x8|t|ƒjo$||d|||<|d7}qWtd|ƒ|SdS(Nsoptions2hash called with input:iiisoptions2hash returning:(sdebugslistsretvalscounterslen(slistsretvalscounter((s</usr/pkg/lib/python2p2/site-packages/offlineimap/imaputil.pys options2hash0s  cstt|ƒƒSdS(N(s options2hashs flagsplitsstring(sstring((s</usr/pkg/lib/python2p2/site-packages/offlineimap/imaputil.pys flags2hash:sc sÍtd|ƒt|ƒtijo÷tdƒg}xÈtt|ƒƒD]´}|do]||}|i ddƒ}|i ddƒ}d|}td ||fƒ|i |ƒnG||}t i d d |ƒ}td ||fƒ|it|ƒƒqFWtd t|ƒƒ|Sn|iƒ} g}x‰t| ƒo{| ddjo‘d}d}xT|oL| |djo|d8}n | |djo|d7}n|d7}q\W| d|!}| |iƒ} |i |ƒnÖ| ddjo?ti| ƒidƒ} | t| ƒiƒ} |i | ƒn†ti| ddƒ}t|ƒ}|djo"|i |dƒ|d} q/n6|djo|i |dƒPn|djoPnq/Wtd|ƒ|SdS(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"']simapsplit() called with input:s3imapsplit() got a non-string input; working around.is\s\\s"s\"s"%s"s)imapsplit() non-string [%d]: Appending %ss\{\d+\}$ss4imapsplit() non-string [%d]: Feeding %s to recursions$imapsplit() non-string: returning %sis(is)smaxsplitsimapsplit() returning:N(sdebugs imapstringstypestypess StringTypesretvalsrangeslensisargsreplacesappendsressubsextends imapsplitsstrsstripsworkstrsrparencsrparenis parenlistslstripsquoteressearchsgroups quotelistsstringssplitssplitss splitslen( s imapstringsrparencsrparenissplitssis parenlistsargs splitslensretvals quotelistsworkstr((s</usr/pkg/lib/python2p2/site-packages/offlineimap/imaputil.pys imapsplit=sl                cs»hdd<dd<dd<dd<d d <}g}gi}|d d !iƒD]}||iƒƒqT~}x3|D]+}|i |ƒo|i||ƒnqzW|i ƒ|SdS( NsSs\seensRs \answeredsFs\flaggedsTs\deletedsDs\draftiiÿÿÿÿ( sflagmapsretvalsappends_[1]s flagstringssplitsxslowers imapflaglistsimapflagshas_keyssort(s flagstrings_[1]sflagmaps imapflaglistsxsretvalsimapflag((s</usr/pkg/lib/python2p2/site-packages/offlineimap/imaputil.pysflagsimap2maildir–s3 cs’hdd<dd<dd<dd<d d <}g}x3|D]+}|i|ƒo|i||ƒnq@W|iƒd d i|ƒd SdS(Ns\SeensSs \AnsweredsRs\FlaggedsFs\DeletedsTs\DraftsDs(s s)(sflagmapsretvalslistsmdflagshas_keysappendssortsjoin(slistsretvalsflagmapsmdflag((s</usr/pkg/lib/python2p2/site-packages/offlineimap/imaputil.pysflagsmaildir2imap¤s3 cs¾t}t}g}d„}xh|D]`}|tjo|}|}n>||djo |}n#|i|||ƒƒ|}|}q"W|tjo|i|||ƒƒndi|ƒSdS(Ncs7||jot|ƒSnt|ƒdt|ƒSdS(Ns:(sstartsendsstr(sstartsend((s</usr/pkg/lib/python2p2/site-packages/offlineimap/imaputil.pysgetlist¶s is,( sNonesstartsendsretvalsgetlistslistsitemsappendsjoin(slistsstartsendsitemsretvalsgetlist((s</usr/pkg/lib/python2p2/site-packages/offlineimap/imaputil.pyslistjoin±s"      (sresstringstypessofflineimap.uisUIBasescompilesquoteresdebugsdequotes flagsplits options2hashs flags2hashs imapsplitsflagsimap2maildirsflagsmaildir2imapslistjoin(squoteres options2hashs flags2hashsstrings flagsplitslistjoinsres imapsplitsUIBasesflagsimap2maildirsdebugsflagsmaildir2imapsdequotestypes((s</usr/pkg/lib/python2p2/site-packages/offlineimap/imaputil.pys?s      Y