mς ½i™Dc @s‘dZddddddddd d d g Zd kZd kZd kZd kZd kTd kTd kTd k Td k Tde e fd„ƒYZ de efd„ƒYZde fd„ƒYZdee fd„ƒYZdeefd„ƒYZdee fd„ƒYZdeefd„ƒYZde e fd„ƒYZdeefd„ƒYZd eefd„ƒYZd eefd„ƒYZd eefd„ƒYZd S(s3Classes implementing retrievers (message sources getmail can retrieve mail from). Currently implemented: SimplePOP3Retriever SimplePOP3SSLRetriever BrokenUIDLPOP3Retriever BrokenUIDLPOP3SSLRetriever MultidropPOP3Retriever MultidropPOP3SSLRetriever MultidropSDPSRetriever SimpleIMAPRetriever -- IMAP, as a protocol, is a FPOS, and it shows. The Python standard library module imaplib leaves much up to the user because of this. SimpleIMAPSSLRetriever - the above, for IMAP-over-SSL. MultidropIMAPRetriever MultidropIMAPSSLRetriever tSimplePOP3RetrievertSimplePOP3SSLRetrievertBrokenUIDLPOP3RetrievertBrokenUIDLPOP3SSLRetrievertMultidropPOP3RetrievertMultidropPOP3SSLRetrievertMultidropSDPSRetrievertSimpleIMAPRetrievertSimpleIMAPSSLRetrievertMultidropIMAPRetrievertMultidropIMAPSSLRetrieverN(t*cBsυtZdZedddeƒedddeddƒedddeddƒedd ƒedd dedd ƒedd ƒedd dede ƒe dddedeƒe dddedeƒf Z e Z dZ eƒZd„Zd„ZRS(s4Retriever class for single-user POP3 mailboxes. tnamet configparsertrequiredt getmaildirtdefaults ~/.getmail/ttimeouti΄tservertportintusernametpasswordtuse_apoptdelete_dup_msgidstPOP3cCsK|iiƒd|iiddƒ|iiddƒ|iiddƒfS(NsSimplePOP3Retriever:%s@%s:%sRRR(tselftlogttracetconftget(R((t:/usr/lib/python2.4/site-packages/getmailcore/retrievers.pyt__str__Hs cCs2|iiƒ|iid|iƒtiƒdS(NsSimplePOP3Retriever(%s)(RRRtinfot _confstringtostlinesep(R((RtshowconfPs (t__name__t __module__t__doc__t ConfInstancetFalset ConfDirectorytConfIntt ConfStringt ConfPasswordtNonetConfBoolt _confitemst received_fromt received_witht localhostnamet received_byRR$(((RR5s ΐ   cBs%tZdZedddeƒedddeddƒedddeddƒedd ƒedd dedeƒedd ƒe dd dede ƒe dd dedeƒe dddedeƒe dddede ƒe dddede ƒf Z e ZdZeƒZd„Zd„ZRS(s=Retriever class for single-user POP3-over-SSL mailboxes. R R RRRs ~/.getmail/Ri΄RRRRRRtkeyfiletcertfilesPOP3-SSLcCsK|iiƒd|iiddƒ|iiddƒ|iiddƒfS(NsSimplePOP3SSLRetriever:%s@%s:%sRRR(RRRRR(R((RRks cCs2|iiƒ|iid|iƒtiƒdS(NsSimplePOP3SSLRetriever(%s)(RRRR R!R"R#(R((RR$ss (R%R&R'R(R)R*R+R,t POP3_ssl_portR-R.R/tConfFileR0R1R2R3R4RR$(((RRVs π  tBrokenUIDLPOP3RetrieverBasecBs8tZdZeZeƒZd„Zd„Zd„Z RS(s•Retriever base class for single-user POP3 mailboxes on servers that do not properly assign unique IDs to messages. Since with these broken servers we cannot rely on UIDL, we have to use message numbers, which are unique within a POP3 session, but which change across sessions. This class therefore can not be used to leave old mail on the server and download only new mail. cCs|iiƒdS(s|Force list of old messages to be empty by making this a no-op, so duplicated IDs are always treated as new messages.N(RRR(R((Rt_read_oldmailfile„scKs|iiƒdS(s'Short-circuit writing the oldmail file.N(RRR(Rtkwargs((Rtwrite_oldmailfile‰scCsΕ|iiƒy€|iiƒ\}}}xa|D]Y}t |i ƒdƒ}t |i ƒdƒ}||i |<||i|<||i|Retriever class for multi-drop IMAPv4-over-SSL mailboxes. R R RRRs ~/.getmail/RRinRRR^s ('INBOX', )R_R5R6R`RQs IMAP4-SSLcCsK|iiƒd|iiddƒ|iiddƒ|iiddƒfS(Ns"MultidropIMAPSSLRetriever:%s@%s:%sRRR(RRRRR(R((RRγs cCs2|iiƒ|iid|iƒtiƒdS(NsMultidropIMAPSSLRetriever(%s)(RRRR R!R"R#(R((RR$λs (R%R&R'R(R)R*R,R+R-R.RdR8R/R0R1R2R3R4RR$(((RR Ιs ό  (R't__all__R"RJRbttypestgetmailcore.exceptionstgetmailcore.constantstgetmailcore.utilitiestgetmailcore.baseclassestgetmailcore._retrieverbasestPOP3RetrieverBaset POP3initMixInRtPOP3SSLinitMixInRR9RRtMultidropPOP3RetrieverBaseRRRtIMAPRetrieverBaset IMAPinitMixInRtIMAPSSLinitMixInRtMultidropIMAPRetrieverBaseR R (RRRR RfRRRRRgR RRJR9RbRR"((Rt?s,'    !#$ !#:$'%