From d3f86beb9fc5e0b40ff892752eaf11f2935ebbb3 Mon Sep 17 00:00:00 2001 From: jgoerzen Date: Tue, 16 Jul 2002 03:26:58 +0100 Subject: [PATCH] /head: changeset 123 - Made folder/Maildir.py/deletemessage() more tolerant if a message asked to be deleted already has been. - In Base.py/copymessageto(), no longer bother calling getmessage() unless a folder's storemessages() returns true. This will also help with syncing to LocalStatus if the user deleted messages in the Maildir since the cachemessagelist() was called. --- head/ChangeLog | 60 ++++ head/debian/changelog | 6 + head/manual.html | 26 +- head/manual.pdf | Bin 39734 -> 40079 bytes head/manual.ps | 443 +++++++++++++------------ head/manual.txt | 20 +- head/offlineimap/folder/Base.py | 19 +- head/offlineimap/folder/LocalStatus.py | 3 + head/offlineimap/folder/Maildir.py | 23 +- 9 files changed, 366 insertions(+), 234 deletions(-) diff --git a/head/ChangeLog b/head/ChangeLog index 29bf6e8..93f132d 100644 --- a/head/ChangeLog +++ b/head/ChangeLog @@ -1,3 +1,63 @@ +2002-07-15 11:22 jgoerzen + + * debian/changelog, offlineimap/folder/Base.py, + offlineimap/folder/LocalStatus.py, offlineimap/folder/Maildir.py: + * Made folder/Maildir.py/deletemessage() more tolerant if a message + asked to be deleted already has been. + * In Base.py/copymessageto(), no longer bother calling + getmessage() + unless a folder's storemessages() returns true. This will also + help + with syncing to LocalStatus if the user deleted messages in the + Maildir since the cachemessagelist() was called. + +2002-07-15 10:46 jgoerzen + + * debian/changelog, offlineimap/imaputil.py, + offlineimap/folder/IMAP.py: * Optimized folder/IMAP.py + addmessagesflags() with new listjoin() in + imaputil. Now, send the server 1:5,7 instead of 1,2,3,4,5,7. + +2002-07-15 08:50 jgoerzen + + * offlineimap.1, offlineimap.py, debian/changelog: Added -o (run + only once) option with patch sent in by Martijn Pieters. + +2002-07-15 08:40 jgoerzen + + * debian/changelog, offlineimap/version.py: Fixed changelog and + version.py + +2002-07-15 08:40 jgoerzen + + * offlineimap.1, debian/changelog: Noted options for -u in manpage + +2002-07-15 08:38 jgoerzen + + * offlineimap/ui/__init__.py: Cleaned up imports + +2002-07-12 09:41 jgoerzen + + * TODO, debian/changelog: Updated TODO list. + +2002-07-12 09:27 jgoerzen + + * COPYING, debian/copyright, offlineimap/ui/UIBase.py: Detabified + the source + +2002-07-11 22:58 jgoerzen + + * debian/control: Added suggests for python2.2-tk + +2002-07-11 22:26 jgoerzen + + * manual.html, manual.ps, debian/changelog: Final doc update for + 3.0.0 release + +2002-07-11 22:20 jgoerzen + + * ChangeLog: Updated for 3.0.0 + 2002-07-11 22:20 jgoerzen * debian/changelog, offlineimap/folder/IMAP.py, diff --git a/head/debian/changelog b/head/debian/changelog index 14e4357..f5c69f3 100644 --- a/head/debian/changelog +++ b/head/debian/changelog @@ -5,6 +5,12 @@ offlineimap (3.0.1) unstable; urgency=low * Added -o (run only once) option with patch sent in by Martijn Pieters. * Optimized folder/IMAP.py addmessagesflags() with new listjoin() in imaputil. Now, send the server 1:5,7 instead of 1,2,3,4,5,7. + * Made folder/Maildir.py/deletemessage() more tolerant if a message + asked to be deleted already has been. + * In Base.py/copymessageto(), no longer bother calling getmessage() + unless a folder's storemessages() returns true. This will also help + with syncing to LocalStatus if the user deleted messages in the + Maildir since the cachemessagelist() was called. -- John Goerzen Fri, 12 Jul 2002 07:28:24 -0500 diff --git a/head/manual.html b/head/manual.html index 152a0e0..fef4412 100644 --- a/head/manual.html +++ b/head/manual.html @@ -25,7 +25,7 @@
- +

NAME

offlineimap [ -1 ] [ -a accountlist ] [ -c configfile ]
-[ -d ] [ -u interface ]
+[ -d ] [ -o ] [ -u interface +] @@ -367,6 +368,19 @@ protocol in plain text, including passwords, so take care to remove that from the debugging output before sending it to anyone else.
+ + +
+-o
+ + + +
+Run only once, ignoring any autorefresh setting in the +config file.
+ @@ -394,6 +408,14 @@ overrides the default specified in the configuration file. The UI specified with -u will be forced to be used, even if its isuable() method states that it cannot be. Use this option with care.
+ + + +
+The pre-defined options are Tk.TKUI (a graphical +interface) and TTY.TTYUI (a text-mode +interface).

EXAMPLES

diff --git a/head/manual.pdf b/head/manual.pdf index e52e88e59844df8e9d3f4dfd5b1363607f676585..98aaa6e9a6bc2cc436e5a8cdea6d1472909b771f 100644 GIT binary patch delta 17629 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 V695urBEfMmGs96*ipxvD{eKv{A<_T< delta 17113 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 D49HuH diff --git a/head/manual.ps b/head/manual.ps index 8c95f24..80422d6 100644 --- a/head/manual.ps +++ b/head/manual.ps @@ -1,6 +1,6 @@ %!PS-Adobe-3.0 %%Creator: groff version 1.17.2 -%%CreationDate: Thu Jul 11 22:25:53 2002 +%%CreationDate: Mon Jul 15 11:26:30 2002 %%DocumentNeededResources: font Times-Roman %%+ font Times-Bold %%+ font Times-Italic @@ -212,11 +212,12 @@ BP (SYNOPSIS)72 112.8 Q/F2 10/Times-Bold@0 SF(of\215ineimap)108 124.8 Q F0 ([)2.5 E F22.5 E F0 2.5(][)2.5 G F2A/F3 10/Times-Italic@0 SF (accountlist)2.5 E F0 2.5(][)2.5 G F2A F3(con\214g\214le)2.5 E F0 -(])2.5 E([)108 136.8 Q F22.5 E F0 2.5(][)2.5 G F2A F3 -(interface)2.5 E F0(])2.5 E F2(of\215ineimap \255h)108 160.8 Q F0(|)2.5 -E F2(\255\255help)2.5 E F1(DESCRIPTION)72 177.6 Q F2(Of\215ineIMAP)108 -189.6 Q F0 .019(is a tool to simplify your e-mail reading.)2.519 F -.4 -(Wi)5.019 G(th).4 E F2(Of\215ineIMAP)2.519 E(,)-.92 E F0 .018 +(])2.5 E([)108 136.8 Q F22.5 E F0 2.5(][)2.5 G F2A F0 2.5 +(][)2.5 G F2A F3(interface)2.5 E F0(])2.5 E F2 +(of\215ineimap \255h)108 160.8 Q F0(|)2.5 E F2(\255\255help)2.5 E F1 +(DESCRIPTION)72 177.6 Q F2(Of\215ineIMAP)108 189.6 Q F0 .019 +(is a tool to simplify your e-mail reading.)2.519 F -.4(Wi)5.019 G(th).4 +E F2(Of\215ineIMAP)2.519 E(,)-.92 E F0 .018 (you can read the same mailbox)2.519 F 1.115(from multiple computers.) 108 201.6 R -1.1(Yo)6.115 G 3.615(ug)1.1 G 1.115(et a current cop)-3.615 F 3.616(yo)-.1 G 3.616(fy)-3.616 G 1.116(our messages on each computer) @@ -314,7 +315,7 @@ G(ilable.).25 E 32.5<8359>108 660 S .085(ou must ha)-33.6 F .385 -.15 (installed. If)144 708 R .359(you intend to use the SSL interf)2.859 F .359(ace, your Python must ha)-.1 F .66 -.15(ve b)-.2 H .36(een b).15 F .36(uilt with SSL sup-)-.2 F(port.)144 720 Q(John Goerzen)72 768 Q -(July 11, 2002)151.655 E(1)201.915 E EP +(July 12, 2002)151.655 E(1)201.915 E EP %%Page: 2 2 %%BeginPageSetup BP @@ -402,9 +403,11 @@ F 2.582(Is)5.082 G .082(uggest that you use this with)-2.582 F F1 (col in plain te)144 660 R 1.7(xt, including passw)-.15 F 1.7 (ords, so tak)-.1 F 4.2(ec)-.1 G 1.7(are to remo)-4.2 F 2 -.15(ve t)-.15 H 1.7(hat from the deb).15 F 1.7(ugging output)-.2 F -(before sending it to an)144 672 Q(yone else.)-.15 E F1 -(\255h, \255\255help)108 688.8 Q F0(Sho)144 700.8 Q 2.5(ws)-.25 G -(ummary of options.)-2.5 E(John Goerzen)72 768 Q(July 11, 2002)151.655 E +(before sending it to an)144 672 Q(yone else.)-.15 E F1108 688.8 Q +F0(Run only once, ignoring an)25.3 E 2.5(ya)-.15 G +(utorefresh setting in the con\214g \214le.)-2.5 E F1 +(\255h, \255\255help)108 705.6 Q F0(Sho)144 717.6 Q 2.5(ws)-.25 G +(ummary of options.)-2.5 E(John Goerzen)72 768 Q(July 12, 2002)151.655 E (2)201.915 E EP %%Page: 3 3 %%BeginPageSetup @@ -420,285 +423,289 @@ SF108 84 Q/F2 10/Times-Italic@0 SF(interface)2.5 E F0 1.133 5.28 F F1(-u)2.78 E F0 .281(will be forced to be used, e)2.78 F -.15(ve) -.25 G 2.781(ni).15 G 2.781(fi)-2.781 G(ts)-2.781 E F1(isuable\(\))2.781 E F0(method)2.781 E(states that it cannot be.)144 120 Q -(Use this option with care.)5 E/F3 10.95/Times-Bold@0 SF(EXAMPLES)72 -136.8 Q F0(Here is an e)108 148.8 Q +(Use this option with care.)5 E .158(The pre-de\214ned options are)144 +136.8 R F1(Tk.TKUI)2.658 E F0 .158(\(a graphical interf)2.658 F .157 +(ace\) and)-.1 F F1(TTY)2.657 E(.TTYUI)-.92 E F0 .157(\(a te)2.657 F +.157(xt-mode inter)-.15 F(-)-.2 E -.1(fa)144 148.8 S(ce\).).1 E/F3 10.95 +/Times-Bold@0 SF(EXAMPLES)72 165.6 Q F0(Here is an e)108 177.6 Q (xample con\214guration for a particularly comple)-.15 E 2.5(xs)-.15 G (ituation; more e)-2.5 E(xamples will be added later)-.15 E(.)-.55 E F1 -(MUL)87 165.6 Q(TIPLE A)-.92 E(CCOUNTS WITH MUTT)-.55 E F0 .514(This e) -108 177.6 R .514(xample sho)-.15 F .514(ws you ho)-.25 F 3.014(wt)-.25 G -3.014(os)-3.014 G .514(et up)-3.014 F F1(Of\215ineIMAP)3.014 E F0 .513 +(MUL)87 194.4 Q(TIPLE A)-.92 E(CCOUNTS WITH MUTT)-.55 E F0 .513(This e) +108 206.4 R .513(xample sho)-.15 F .513(ws you ho)-.25 F 3.014(wt)-.25 G +3.014(os)-3.014 G .514(et up)-3.014 F F1(Of\215ineIMAP)3.014 E F0 .514 (to synchronize multiple accounts with the mutt mail)3.014 F(reader)108 -189.6 Q(.)-.55 E(Start by creating a directory to hold your folders:)108 -206.4 Q F1(mkdir ~/Mail)108 218.4 Q F0(In your)108 235.2 Q F2(~/.of)2.5 -E(\215ineimapr)-.18 E(c,)-.37 E F0(specify this:)2.5 E F1(accounts = P) -108 247.2 Q(ersonal, W)-.2 E(ork)-.75 E F0(Mak)108 264 Q 2.82(es)-.1 G -.32(ure that you ha)-2.82 F .62 -.15(ve b)-.2 H .32(oth a).15 F F1([P) -2.821 E(ersonal])-.2 E F0 .321(and a)2.821 F F1([W)2.821 E(ork])-.75 E -F0 .321(section, with dif)2.821 F .321(ferent localfolder pathnames and) --.25 F(enable)108 276 Q F1([mbnames].)2.5 E F0 -(In each account section, do something lik)108 292.8 Q 2.5(et)-.1 G -(his:)-2.5 E F1(localf)108 304.8 Q(olders = ~/Mail/P)-.25 E(ersonal)-.2 -E F0(Add these lines to your)108 321.6 Q F2(~/.muttr)2.5 E(c:)-.37 E F1 -(sour)108 333.6 Q(ce ~/path-to-mbnames-muttr)-.18 E(c-mailboxes)-.18 E --.25(fo)108 345.6 S(lder).25 E(-hook P)-.37 E(ersonal set fr)-.2 E -(om="y)-.18 E(our)-.25 E(email@personal.com")-.18 E -.25(fo)108 357.6 S +218.4 Q(.)-.55 E(Start by creating a directory to hold your folders:)108 +235.2 Q F1(mkdir ~/Mail)108 247.2 Q F0(In your)108 264 Q F2(~/.of)2.5 E +(\215ineimapr)-.18 E(c,)-.37 E F0(specify this:)2.5 E F1(accounts = P) +108 276 Q(ersonal, W)-.2 E(ork)-.75 E F0(Mak)108 292.8 Q 2.821(es)-.1 G +.321(ure that you ha)-2.821 F .621 -.15(ve b)-.2 H .321(oth a).15 F F1 +([P)2.821 E(ersonal])-.2 E F0 .321(and a)2.821 F F1([W)2.821 E(ork])-.75 +E F0 .32(section, with dif)2.82 F .32(ferent localfolder pathnames and) +-.25 F(enable)108 304.8 Q F1([mbnames].)2.5 E F0 +(In each account section, do something lik)108 321.6 Q 2.5(et)-.1 G +(his:)-2.5 E F1(localf)108 333.6 Q(olders = ~/Mail/P)-.25 E(ersonal)-.2 +E F0(Add these lines to your)108 350.4 Q F2(~/.muttr)2.5 E(c:)-.37 E F1 +(sour)108 362.4 Q(ce ~/path-to-mbnames-muttr)-.18 E(c-mailboxes)-.18 E +-.25(fo)108 374.4 S(lder).25 E(-hook P)-.37 E(ersonal set fr)-.2 E +(om="y)-.18 E(our)-.25 E(email@personal.com")-.18 E -.25(fo)108 386.4 S (lder).25 E(-hook W)-.37 E(ork set fr)-.75 E(om="y)-.18 E(our)-.25 E -(email@w)-.18 E(ork.com")-.1 E(set mbox_type=Maildir)108 369.6 Q(set f) -108 381.6 Q(older=$HOME/Mail)-.25 E(set spool\214le=+P)108 393.6 Q -(ersonal/INBO)-.2 E(X)-.4 E F0(That')108 410.4 Q 2.5(si)-.55 G(t!)-2.5 E -F3(ERR)72 427.2 Q(ORS)-.329 E F0(If you get one of some frequently-enco\ -untered or confusing errors, please check this section.)108 439.2 Q F1 -(UID v)87 456 Q(alidity pr)-.1 E(oblem f)-.18 E(or f)-.25 E(older)-.25 E -F0 1.638(IMAP serv)108 468 R 1.637 +(email@w)-.18 E(ork.com")-.1 E(set mbox_type=Maildir)108 398.4 Q(set f) +108 410.4 Q(older=$HOME/Mail)-.25 E(set spool\214le=+P)108 422.4 Q +(ersonal/INBO)-.2 E(X)-.4 E F0(That')108 439.2 Q 2.5(si)-.55 G(t!)-2.5 E +F3(ERR)72 456 Q(ORS)-.329 E F0(If you get one of some frequently-encoun\ +tered or confusing errors, please check this section.)108 468 Q F1 +(UID v)87 484.8 Q(alidity pr)-.1 E(oblem f)-.18 E(or f)-.25 E(older)-.25 +E F0 1.637(IMAP serv)108 496.8 R 1.637 (ers use a unique ID \(UID\) to refer to a speci\214c message.)-.15 F -1.637(This number is guaranteed to be)6.637 F 1.109 -(unique to a particular message FOREVER.)108 480 R 1.109 -(No other message in the same folder will e)6.109 F -.15(ve)-.25 G 3.61 -(rg).15 G 1.11(et the same)-3.61 F 2.874(UID. UIDs)108 492 R .373 -(are an inte)2.874 F .373(gral part of Of)-.15 F(\215ineIMAP')-.25 E +1.638(This number is guaranteed to be)6.637 F 1.11 +(unique to a particular message FOREVER.)108 508.8 R 1.109 +(No other message in the same folder will e)6.11 F -.15(ve)-.25 G 3.609 +(rg).15 G 1.109(et the same)-3.609 F 2.873(UID. UIDs)108 520.8 R .373 +(are an inte)2.873 F .373(gral part of Of)-.15 F(\215ineIMAP')-.25 E 2.873(ss)-.55 G .373(ynchronization scheme; the)-2.873 F 2.873(ya)-.15 G .373(re used to match up mes-)-2.873 F -(sages on your computer to messages on the serv)108 504 Q(er)-.15 E(.) --.55 E .107(Sometimes, the UIDs on the serv)108 520.8 R .108 +(sages on your computer to messages on the serv)108 532.8 Q(er)-.15 E(.) +-.55 E .108(Sometimes, the UIDs on the serv)108 549.6 R .108 (er might get reset.)-.15 F .108 -(Usually this will happen if you delete and then recreate)5.108 F 3.743 -(af)108 532.8 S(older)-3.743 E 6.243(.W)-.55 G 1.243 -(hen you create a folder)-6.243 F 3.742(,t)-.4 G 1.242(he serv)-3.742 F -1.242(er will often start the UID back from 1.)-.15 F(But)6.242 E F1 -(Of\215ineIMAP)3.742 E F0 .302(might still ha)108 544.8 R .602 -.15 -(ve t)-.2 H .302(he UIDs from the pre).15 F .302 -(vious folder by the same name stored.)-.25 F F1(Of\215ineIMAP)5.303 E -F0 .303(will detect this)2.803 F(condition and skip the folder)108 556.8 +(Usually this will happen if you delete and then recreate)5.108 F 3.742 +(af)108 561.6 S(older)-3.742 E 6.242(.W)-.55 G 1.242 +(hen you create a folder)-6.242 F 3.742(,t)-.4 G 1.242(he serv)-3.742 F +1.242(er will often start the UID back from 1.)-.15 F(But)6.243 E F1 +(Of\215ineIMAP)3.743 E F0 .303(might still ha)108 573.6 R .603 -.15 +(ve t)-.2 H .303(he UIDs from the pre).15 F .302 +(vious folder by the same name stored.)-.25 F F1(Of\215ineIMAP)5.302 E +F0 .302(will detect this)2.802 F(condition and skip the folder)108 585.6 Q 5(.T)-.55 G(his is GOOD, because it pre)-5 E -.15(ve)-.25 G -(nts data loss.).15 E -1.1(Yo)108 573.6 S 2.827(uc)1.1 G .327 -(an \214x it by remo)-2.827 F .327 +(nts data loss.).15 E -1.1(Yo)108 602.4 S 2.826(uc)1.1 G .326 +(an \214x it by remo)-2.826 F .327 (ving your local folder and cache data.)-.15 F -.15(Fo)5.327 G 2.827(ri) -.15 G .327(nstance, if your folders are under)-2.827 F F2(~/F)2.826 E -(old-)-1.05 E(er)108 585.6 Q(s)-.1 E F0 +.15 G .327(nstance, if your folders are under)-2.827 F F2(~/F)2.827 E +(old-)-1.05 E(er)108 614.4 Q(s)-.1 E F0 (and the folder with the problem is INBO)2.5 E(X, you')-.4 E 2.5(dt)-.5 -G(ype this:)-2.5 E F1(rm -r ~/F)108 602.4 Q(olders/INBO)-.25 E(X)-.4 E -(rm ~/.of\215ineimap/AccountName/INBO)108 614.4 Q(X)-.4 E F0 -(\(replacing AccountName with the account name as speci\214ed in)108 -631.2 Q F2(~/.of)2.5 E(\215ineimapr)-.18 E(c\))-.37 E F0(Ne)108 648 Q -.801(xt time you run)-.15 F F1(Of\215ineIMAP)3.301 E(,)-.92 E F0 .802 +G(ype this:)-2.5 E F1(rm -r ~/F)108 631.2 Q(olders/INBO)-.25 E(X)-.4 E +(rm ~/.of\215ineimap/AccountName/INBO)108 643.2 Q(X)-.4 E F0 +(\(replacing AccountName with the account name as speci\214ed in)108 660 +Q F2(~/.of)2.5 E(\215ineimapr)-.18 E(c\))-.37 E F0(Ne)108 676.8 Q .802 +(xt time you run)-.15 F F1(Of\215ineIMAP)3.302 E(,)-.92 E F0 .802 (it will re-do)3.302 F .802(wnload the folder with the ne)-.25 F 3.302 -(wU)-.25 G 3.302(IDs. Note)-3.302 F .802(that the proce-)3.302 F -(dure speci\214ed abo)108 660 Q .3 -.15(ve w)-.15 H(ill lose an).15 E -2.5(yl)-.15 G(ocal changes made to the folder)-2.5 E(.)-.55 E .523 -(Some IMAP serv)108 676.8 R .522(ers are brok)-.15 F .522 +(wU)-.25 G 3.301(IDs. Note)-3.302 F .801(that the proce-)3.301 F +(dure speci\214ed abo)108 688.8 Q .3 -.15(ve w)-.15 H(ill lose an).15 E +2.5(yl)-.15 G(ocal changes made to the folder)-2.5 E(.)-.55 E .522 +(Some IMAP serv)108 705.6 R .522(ers are brok)-.15 F .522 (en and do not support UIDs properly)-.1 F 5.522(.I)-.65 G 3.022(fy) --5.522 G .522(ou continue to get this error for all)-3.022 F .066 -(your folders e)108 688.8 R -.15(ve)-.25 G 2.566(na).15 G .066 +-5.522 G .522(ou continue to get this error for all)-3.022 F .067 +(your folders e)108 717.6 R -.15(ve)-.25 G 2.566(na).15 G .066 (fter performing the abo)-2.566 F .366 -.15(ve p)-.15 H .066 (rocedure, it is lik).15 F .066(ely that your IMAP serv)-.1 F .066(er f) --.15 F .067(alls into this cat-)-.1 F -.15(eg)108 700.8 S(ory).15 E(.) --.65 E F1(Of\215ineIMAP)5.984 E F0 .984(is incompatible with such serv) -3.484 F 3.484(ers. Using)-.15 F F1(Of\215ineIMAP)3.484 E F0 .984 -(with them will not destro)3.484 F(y)-.1 E(an)108 712.8 Q 2.769(ym)-.15 -G .269(ail, b)-2.769 F .269 -(ut at the same time, it will not actually synchronize it either)-.2 F -5.27(.\()-.55 G(Of)-5.27 E .27(\215ineIMAP will detect this con-)-.25 F -(dition and abort prior to synchronization\))108 724.8 Q(John Goerzen)72 -768 Q(July 11, 2002)151.655 E(3)201.915 E EP +-.15 F .066(alls into this cat-)-.1 F -.15(eg)108 729.6 S(ory).15 E(.) +-.65 E F1(Of\215ineIMAP)5.983 E F0 .984(is incompatible with such serv) +3.483 F 3.484(ers. Using)-.15 F F1(Of\215ineIMAP)3.484 E F0 .984 +(with them will not destro)3.484 F(y)-.1 E(John Goerzen)72 768 Q +(July 12, 2002)151.655 E(3)201.915 E EP %%Page: 4 4 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF 111.22(OFFLINEIMAP\(1\) Of)72 48 R -(\215ineIMAP manual)-.25 E(OFFLINEIMAP\(1\))113.72 E/F1 10.95 -/Times-Bold@0 SF -.438(OT)72 84 S(HER FREQ).438 E(UENTL)-.11 E 2.738(YA) --1.007 G(SKED Q)-2.738 E(UESTIONS)-.11 E F0 .684(There are some other F) -108 96 R -.55(AQ)-.74 G 3.184(st).55 G .684 +(\215ineIMAP manual)-.25 E(OFFLINEIMAP\(1\))113.72 E(an)108 84 Q 2.77 +(ym)-.15 G .27(ail, b)-2.77 F .27 +(ut at the same time, it will not actually synchronize it either)-.2 F +5.269(.\()-.55 G(Of)-5.269 E .269(\215ineIMAP will detect this con-)-.25 +F(dition and abort prior to synchronization\))108 96 Q/F1 10.95 +/Times-Bold@0 SF -.438(OT)72 124.8 S(HER FREQ).438 E(UENTL)-.11 E 2.738 +(YA)-1.007 G(SKED Q)-2.738 E(UESTIONS)-.11 E F0 .683 +(There are some other F)108 136.8 R -.55(AQ)-.74 G 3.184(st).55 G .684 (hat might not \214t into another section of this document, and the) --3.184 F 3.183(ya)-.15 G .683(re enumer)-3.183 F(-)-.2 E(ated here.)108 -108 Q/F2 10/Times-Bold@0 SF(What platf)108 124.8 Q +-3.184 F 3.184(ya)-.15 G .684(re enumer)-3.184 F(-)-.2 E(ated here.)108 +148.8 Q/F2 10/Times-Bold@0 SF(What platf)108 165.6 Q (orms does Of\215ineIMAP run on?)-.25 E F0(It should run on most platfo\ -rms supported by Python, which are quite a fe)144 136.8 Q -.65(w.)-.25 G -F2 .688(I'm using Mutt. Other IMAP sync pr)108 153.6 R .689(ograms r) +rms supported by Python, which are quite a fe)144 177.6 Q -.65(w.)-.25 G +F2 .689(I'm using Mutt. Other IMAP sync pr)108 194.4 R .689(ograms r) -.18 F(equir)-.18 E 3.189(em)-.18 G 3.189(et)-3.189 G 3.189(ou)-3.189 G -.689(se set maildir_trash=y)-3.189 F .689(es . Do I need to)-.1 F -(do that with Of\215ineIMAP?)108 165.6 Q F0(No.)144 177.6 Q F2 +.689(se set maildir_trash=y)-3.189 F .688(es . Do I need to)-.1 F +(do that with Of\215ineIMAP?)108 206.4 Q F0(No.)144 218.4 Q F2 (Of\215ineIMAP)7.27 E F0 2.27 (is smart enough to \214gure out message deletion without this e)4.77 F -2.27(xtra crutch.)-.15 F -1.1(Yo)144 189.6 S(u')1.1 E +2.27(xtra crutch.)-.15 F -1.1(Yo)144 230.4 S(u')1.1 E (ll get the best results if you don')-.1 E 2.5(tu)-.18 G -(se this setting, in f)-2.5 E(act.)-.1 E F2(Ho)108 206.4 Q 2.5(wd)-.1 G +(se this setting, in f)-2.5 E(act.)-.1 E F2(Ho)108 247.2 Q 2.5(wd)-.1 G 2.5(oIs)-2.5 G(pecify the names of my f)-2.5 E(olders?)-.25 E F0 -1.1 -(Yo)144 218.4 S 3.55(ud)1.1 G 3.55(on)-3.55 G 1.05(ot need to.)-3.55 F +(Yo)144 259.2 S 3.55(ud)1.1 G 3.55(on)-3.55 G 1.05(ot need to.)-3.55 F F2(Of\215ineIMAP)6.05 E F0 1.05 (is smart enough to automatically \214gure out what folders are)3.55 F -.678(present on the IMAP serv)144 230.4 R .678(er and synchronize them.) --.15 F -1.1(Yo)5.679 G 3.179(uc)1.1 G .679(an use the)-3.179 F F2 -.25 -(fo)3.179 G(lder\214lter).25 E F0(and)3.179 E F2 -.25(fo)3.179 G +.679(present on the IMAP serv)144 271.2 R .679(er and synchronize them.) +-.15 F -1.1(Yo)5.679 G 3.178(uc)1.1 G .678(an use the)-3.178 F F2 -.25 +(fo)3.178 G(lder\214lter).25 E F0(and)3.178 E F2 -.25(fo)3.178 G (ldertrans).25 E F0(con\214guration \214le options to request certain f\ -olders and rename them as the)144 242.4 Q 2.5(yc)-.15 G -(ome in if you lik)-2.5 E(e.)-.1 E F2(Ho)108 259.2 Q 2.5(wc)-.1 G -(an I pr)-2.5 E -2.3 -.15(ev e)-.18 H(nt certain f).15 E(olders fr)-.25 -E(om being synced?)-.18 E F0(Use the)144 271.2 Q F2 -.25(fo)2.5 G +olders and rename them as the)144 283.2 Q 2.5(yc)-.15 G +(ome in if you lik)-2.5 E(e.)-.1 E F2(Ho)108 300 Q 2.5(wc)-.1 G(an I pr) +-2.5 E -2.3 -.15(ev e)-.18 H(nt certain f).15 E(olders fr)-.25 E +(om being synced?)-.18 E F0(Use the)144 312 Q F2 -.25(fo)2.5 G (lder\214lter).25 E F0(option in the con\214guration \214le.)2.5 E F2 -(Ho)108 288 Q 2.5(wc)-.1 G(an I add or delete a f)-2.5 E(older?)-.25 E -(Of\215ineIMAP)144 300 Q F0 .504(does not currently pro)3.004 F .504 -(vide this feature, b)-.15 F .504(ut if you create a ne)-.2 F 3.003(wf) --.25 G .503(older on the IMAP)-3.003 F(serv)144 312 Q(er)-.15 E 2.5(,i) --.4 G 2.5(tw)-2.5 G(ill be created locally automatically)-2.5 E(.)-.65 E -F2(Ar)108 328.8 Q 2.5(et)-.18 G(her)-2.5 E 2.5(ea)-.18 G(ny other war) --2.5 E(nings that I should be awar)-.15 E 2.5(eo)-.18 G(f?)-2.5 E F0 -1 -(Ye)144 340.8 S(s; see the NO)1 E(TES section belo)-.4 E -.65(w.)-.25 G -F2(What is the mailbox name r)108 357.6 Q(ecorder \(mbnames\) f)-.18 E -(or?)-.25 E F0 1.019(The Mutt mail reader is not capable of automatical\ -ly determining the names of your mailbox)144 369.6 R(es.)-.15 E(Of)144 -381.6 Q .266(\215ineIMAP can help it \(or man)-.25 F 2.765(yo)-.15 G -.265(ther\) programs out be writing these names out in a format you) --2.765 F(specify)144 393.6 Q 5(.S)-.65 G(ee the e)-5 E(xample of)-.15 E -(\215ineimap.conf \214le for details.)-.25 E F2(Can I synchr)108 410.4 Q -(onize multiple accounts with Of\215ineIMAP?)-.18 E F0 3.344(Sure. Just) -144 422.4 R .845(name them all in the accounts line in the general sect\ -ion of the con\214g \214le, and add a)3.344 F(per)144 434.4 Q +(Ho)108 328.8 Q 2.5(wc)-.1 G(an I add or delete a f)-2.5 E(older?)-.25 E +(Of\215ineIMAP)144 340.8 Q F0 .503(does not currently pro)3.003 F .504 +(vide this feature, b)-.15 F .504(ut if you create a ne)-.2 F 3.004(wf) +-.25 G .504(older on the IMAP)-3.004 F(serv)144 352.8 Q(er)-.15 E 2.5 +(,i)-.4 G 2.5(tw)-2.5 G(ill be created locally automatically)-2.5 E(.) +-.65 E F2(Ar)108 369.6 Q 2.5(et)-.18 G(her)-2.5 E 2.5(ea)-.18 G +(ny other war)-2.5 E(nings that I should be awar)-.15 E 2.5(eo)-.18 G +(f?)-2.5 E F0 -1(Ye)144 381.6 S(s; see the NO)1 E(TES section belo)-.4 E +-.65(w.)-.25 G F2(What is the mailbox name r)108 398.4 Q +(ecorder \(mbnames\) f)-.18 E(or?)-.25 E F0 1.019(The Mutt mail reader \ +is not capable of automatically determining the names of your mailbox) +144 410.4 R(es.)-.15 E(Of)144 422.4 Q .265 +(\215ineIMAP can help it \(or man)-.25 F 2.765(yo)-.15 G .265 +(ther\) programs out be writing these names out in a format you)-2.765 F +(specify)144 434.4 Q 5(.S)-.65 G(ee the e)-5 E(xample of)-.15 E +(\215ineimap.conf \214le for details.)-.25 E F2(Can I synchr)108 451.2 Q +(onize multiple accounts with Of\215ineIMAP?)-.18 E F0 3.345(Sure. Just) +144 463.2 R .845(name them all in the accounts line in the general sect\ +ion of the con\214g \214le, and add a)3.345 F(per)144 475.2 Q (-account section for each one.)-.2 E F2 -(Does Of\215ineIMAP support POP?)108 451.2 Q F0 4.077(No. POP)144 463.2 -R 1.576(is not rob)4.077 F 1.576(ust enough to do a completely reliable\ - multi-machine synchronization lik)-.2 F(e)-.1 E(Of)144 475.2 Q +(Does Of\215ineIMAP support POP?)108 492 Q F0 4.076(No. POP)144 504 R +1.576(is not rob)4.076 F 1.576(ust enough to do a completely reliable m\ +ulti-machine synchronization lik)-.2 F(e)-.1 E(Of)144 516 Q (\215ineIMAP can do.)-.25 E(Of)5 E(\215ineIMAP will not support it.)-.25 -E F2(Do y)108 492 Q(ou support mailbox f)-.25 E -(ormats other than Maildir?)-.25 E F0 .409(Not at present.)144 504 R -.409(There is no technical reason not to; just no demand yet.)5.409 F -.41(Maildir is a superior for)5.41 F(-)-.2 E(mat an)144 516 Q(yw)-.15 E -(ay)-.1 E(.)-.65 E F2([technical] Wh)108 532.8 Q 2.5(ya)-.15 G .36 -.18 +E F2(Do y)108 532.8 Q(ou support mailbox f)-.25 E +(ormats other than Maildir?)-.25 E F0 .41(Not at present.)144 544.8 R +.41(There is no technical reason not to; just no demand yet.)5.41 F .409 +(Maildir is a superior for)5.409 F(-)-.2 E(mat an)144 556.8 Q(yw)-.15 E +(ay)-.1 E(.)-.65 E F2([technical] Wh)108 573.6 Q 2.5(ya)-.15 G .36 -.18 (re y)-2.5 H(our Maildir message \214lenames so huge?)-.07 E -(Of\215ineIMAP)144 544.8 Q F0 .959(has tw)3.459 F 3.459(or)-.1 G(ele) --3.459 E -.25(va)-.25 G .959(nt principles: 1\) ne).25 F -.15(ve)-.25 G -3.459(rm).15 G .958(odifying your messages in an)-3.459 F 3.458(yw)-.15 -G .958(ay and 2\))-3.558 F .493 -(ensuring 100% reliable synchronizations.)144 556.8 R .493 +(Of\215ineIMAP)144 585.6 Q F0 .958(has tw)3.458 F 3.458(or)-.1 G(ele) +-3.458 E -.25(va)-.25 G .958(nt principles: 1\) ne).25 F -.15(ve)-.25 G +3.459(rm).15 G .959(odifying your messages in an)-3.459 F 3.459(yw)-.15 +G .959(ay and 2\))-3.559 F .493 +(ensuring 100% reliable synchronizations.)144 597.6 R .493 (In order to do a reliable sync,)5.493 F F2(Of\215ineIMAP)2.993 E F0 -.494(must ha)2.993 F -.15(ve)-.2 G 3.095(aw)144 568.8 S .595 -(ay to uniquely identify each e-mail.)-3.195 F .594 -(Three pieces of information are required to do this: your)5.594 F .537 -(account name, the folder name, and the message UID.)144 580.8 R .538 -(The account name can be calculated from)5.537 F 1.082 -(the path in which your messages are.)144 592.8 R 1.082 -(The folder name can usually be as well, B)6.082 F 1.081(UT some mail) --.1 F(clients mo)144 604.8 Q .3 -.15(ve m)-.15 H +.493(must ha)2.993 F -.15(ve)-.2 G 3.094(aw)144 609.6 S .594 +(ay to uniquely identify each e-mail.)-3.194 F .595 +(Three pieces of information are required to do this: your)5.594 F .538 +(account name, the folder name, and the message UID.)144 621.6 R .537 +(The account name can be calculated from)5.537 F 1.081 +(the path in which your messages are.)144 633.6 R 1.082 +(The folder name can usually be as well, B)6.082 F 1.082(UT some mail) +-.1 F(clients mo)144 645.6 Q .3 -.15(ve m)-.15 H (essages between folders by simply mo).15 E(ving the \214le, lea)-.15 E -(ving the name intact.)-.2 E(So,)144 621.6 Q F2(Of\215ineIMAP)3.2 E F0 +(ving the name intact.)-.2 E(So,)144 662.4 Q F2(Of\215ineIMAP)3.2 E F0 .7(must store both a UID folder ID.)3.2 F .7 -(The folder ID is necessary so)5.7 F F2(Of\215ineIMAP)3.2 E F0 .456 -(can detect a message mo)144 633.6 R -.15(ve)-.15 G 2.956(dt).15 G 2.955 -(oad)-2.956 G(if)-2.955 E .455(ferent folder)-.25 F(.)-.55 E F2 -(Of\215ineIMAP)5.455 E F0 .455(stores the UID \(U= number\) and)2.955 F -(an md5sum of the foldername \(FMD5= number\) to f)144 645.6 Q -(acilitate this.)-.1 E F2(What is the speed of Of\215ineIMAP')108 662.4 -Q 2.5(ss)-.37 G(ync?)-2.5 E(Of\215ineIMAP)144 674.4 Q F0 -.15(ve)2.89 G -.39(rsions 2.0 and abo).15 F .691 -.15(ve c)-.15 H .391 -(ontain a multithreaded system.).15 F 2.891(Ag)5.391 G .391(ood w)-2.891 -F .391(ay to e)-.1 F(xperiment)-.15 E(is by setting maxsyncaccounts to \ -3 and maxconnections to 3 in each account clause.)144 686.4 Q .382 -(This lets Of)144 703.2 R .382 -(\215ineIMAP open up multiple connections simultaneously)-.25 F 5.381 -(.T)-.65 G .381(hat will let it process mul-)-5.381 F -(tiple folders and messages at once.)144 715.2 Q -(In most cases, this will increase performance of the sync.)5 E -(John Goerzen)72 768 Q(July 11, 2002)151.655 E(4)201.915 E EP +(The folder ID is necessary so)5.7 F F2(Of\215ineIMAP)3.2 E F0 .455 +(can detect a message mo)144 674.4 R -.15(ve)-.15 G 2.955(dt).15 G 2.955 +(oad)-2.955 G(if)-2.955 E .455(ferent folder)-.25 F(.)-.55 E F2 +(Of\215ineIMAP)5.455 E F0 .456(stores the UID \(U= number\) and)2.955 F +(an md5sum of the foldername \(FMD5= number\) to f)144 686.4 Q +(acilitate this.)-.1 E F2(What is the speed of Of\215ineIMAP')108 703.2 +Q 2.5(ss)-.37 G(ync?)-2.5 E(Of\215ineIMAP)144 715.2 Q F0 -.15(ve)2.891 G +.391(rsions 2.0 and abo).15 F .691 -.15(ve c)-.15 H .391 +(ontain a multithreaded system.).15 F 2.891(Ag)5.391 G .39(ood w)-2.891 +F .39(ay to e)-.1 F(xperiment)-.15 E(is by setting maxsyncaccounts to 3\ + and maxconnections to 3 in each account clause.)144 727.2 Q +(John Goerzen)72 768 Q(July 12, 2002)151.655 E(4)201.915 E EP %%Page: 5 5 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF 111.22(OFFLINEIMAP\(1\) Of)72 48 R -(\215ineIMAP manual)-.25 E(OFFLINEIMAP\(1\))113.72 E(Don')144 84 Q 3.103 -(ts)-.18 G .603(et the number too high.)-3.103 F .603 -(If you do that, things might actually slo)5.603 F 3.104(wd)-.25 G -.25 -(ow)-3.104 G 3.104(na).25 G 3.104(sy)-3.104 G .604(our link gets)-3.104 -F 2.633(saturated. Also,)144 96 R .133(too man)2.633 F 2.633(yc)-.15 G -.132(onnections can cause mail serv)-2.633 F .132(ers to ha)-.15 F .432 --.15(ve ex)-.2 H(cessi).15 E .432 -.15(ve l)-.25 H 2.632 -(oad. Administra-).15 F .506(tors might tak)144 108 R 3.006(eu)-.1 G -.506(nkindly to this, and the serv)-3.006 F .507(er might bog do)-.15 F -3.007(wn. There)-.25 F .507(are man)3.007 F 3.007(yv)-.15 G .507 -(ariables in the)-3.257 F(optimal setting; e)144 120 Q +(\215ineIMAP manual)-.25 E(OFFLINEIMAP\(1\))113.72 E .381(This lets Of) +144 84 R .381(\215ineIMAP open up multiple connections simultaneously) +-.25 F 5.382(.T)-.65 G .382(hat will let it process mul-)-5.382 F +(tiple folders and messages at once.)144 96 Q +(In most cases, this will increase performance of the sync.)5 E(Don')144 +112.8 Q 3.104(ts)-.18 G .604(et the number too high.)-3.104 F .603 +(If you do that, things might actually slo)5.604 F 3.103(wd)-.25 G -.25 +(ow)-3.103 G 3.103(na).25 G 3.103(sy)-3.103 G .603(our link gets)-3.103 +F 2.632(saturated. Also,)144 124.8 R .132(too man)2.632 F 2.632(yc)-.15 +G .132(onnections can cause mail serv)-2.632 F .132(ers to ha)-.15 F +.433 -.15(ve ex)-.2 H(cessi).15 E .433 -.15(ve l)-.25 H 2.633 +(oad. Administra-).15 F .507(tors might tak)144 136.8 R 3.007(eu)-.1 G +.507(nkindly to this, and the serv)-3.007 F .506(er might bog do)-.15 F +3.006(wn. There)-.25 F .506(are man)3.006 F 3.006(yv)-.15 G .506 +(ariables in the)-3.256 F(optimal setting; e)144 148.8 Q (xperimentation may help.)-.15 E -(An informal benchmark yields these results for my setup:)144 136.8 Q -(10 minutes with MacOS X Mail.app "manual cache")144 153.6 Q 2.5(5m)144 -165.6 S(inutes with GNUS agent sync)-2.5 E(20 seconds with Of)144 177.6 -Q(\215ineIMAP 1.x)-.25 E 2.5(9s)144 189.6 S(econds with Of)-2.5 E -(\215ineIMAP 2.x)-.25 E 2.5(3s)144 201.6 S(econds with Of)-2.5 E -(\215ineIMAP 3.x "cold start")-.25 E 2.5(2s)144 213.6 S(econds with Of) +(An informal benchmark yields these results for my setup:)144 165.6 Q +(10 minutes with MacOS X Mail.app "manual cache")144 182.4 Q 2.5(5m)144 +194.4 S(inutes with GNUS agent sync)-2.5 E(20 seconds with Of)144 206.4 +Q(\215ineIMAP 1.x)-.25 E 2.5(9s)144 218.4 S(econds with Of)-2.5 E +(\215ineIMAP 2.x)-.25 E 2.5(3s)144 230.4 S(econds with Of)-2.5 E +(\215ineIMAP 3.x "cold start")-.25 E 2.5(2s)144 242.4 S(econds with Of) -2.5 E(\215ineIMAP 3.x "held connection")-.25 E/F1 10.95/Times-Bold@0 SF -(CONFORMING T)72 230.4 Q(O)-.197 E F0 32.5<8349>108 242.4 S +(CONFORMING T)72 259.2 Q(O)-.197 E F0 32.5<8349>108 271.2 S (nternet Message Access Protocol v)-32.5 E(ersion 4re)-.15 E (v1 \(IMAP 4re)-.25 E(v1\) as speci\214ed in RFC2060)-.25 E 32.5<834d> -108 259.2 S 8.92(aildir as speci\214ed in http://www)-32.5 F(.qmail.or) +108 288 S 8.92(aildir as speci\214ed in http://www)-32.5 F(.qmail.or) -.65 E(g/qmail-manual-html/man5/maildir)-.18 E 8.92(.html and)-.55 F -(http://cr)144 271.2 Q(.yp.to/proto/maildir)-.55 E(.html.)-.55 E 32.5 -<8353>108 288 S +(http://cr)144 300 Q(.yp.to/proto/maildir)-.55 E(.html.)-.55 E 32.5 +<8353>108 316.8 S (tandard Python 2.2.1 as implemented on POSIX-compliant systems.)-32.5 E -F1(NO)72 304.8 Q(TES)-.438 E/F2 10/Times-Bold@0 SF -(DELETING LOCAL FOLDERS)87 316.8 Q(Of\215ineIMAP)108 328.8 Q F0 .532 -(does a tw)3.032 F(o-w)-.1 E .532(ay synchronization.)-.1 F .532 +F1(NO)72 333.6 Q(TES)-.438 E/F2 10/Times-Bold@0 SF +(DELETING LOCAL FOLDERS)87 345.6 Q(Of\215ineIMAP)108 357.6 Q F0 .533 +(does a tw)3.033 F(o-w)-.1 E .533(ay synchronization.)-.1 F .532 (That is, if you mak)5.532 F 3.032(eac)-.1 G .532 -(hange to the mail on the serv)-3.032 F(er)-.15 E 3.033(,i)-.4 G(t) --3.033 E .897(will be propog)108 340.8 R .897(ated to your local cop) +(hange to the mail on the serv)-3.032 F(er)-.15 E 3.032(,i)-.4 G(t) +-3.032 E .896(will be propog)108 369.6 R .896(ated to your local cop) -.05 F 2.197 -.65(y, a)-.1 H .897(nd vise-v).65 F 3.397(ersa. Some)-.15 -F .896(people might think that it w)3.397 F .896(ould be wise to)-.1 F -1.59(just delete all their local mail folders periodically)108 352.8 R +F .897(people might think that it w)3.397 F .897(ould be wise to)-.1 F +1.59(just delete all their local mail folders periodically)108 381.6 R 6.59(.I)-.65 G 4.09(fy)-6.59 G 1.59(ou do this with Of)-4.09 F (\215ineIMAP)-.25 E 4.09(,r)-1.11 G 1.59(emember to also)-4.09 F(remo) -108 364.8 Q 1.67 -.15(ve y)-.15 H 1.37(our local status cache \(~/.of) +108 393.6 Q 1.67 -.15(ve y)-.15 H 1.37(our local status cache \(~/.of) .15 F 1.37(\215ineimap by def)-.25 F 3.87(ault\). Otherwise,)-.1 F(Of) 3.87 E 1.37(\215ineIMAP will tak)-.25 F 3.87(et)-.1 G 1.37(his as an) --3.87 F .415(intentional deletion of man)108 376.8 R 2.915(ym)-.15 G +-3.87 F .416(intentional deletion of man)108 405.6 R 2.916(ym)-.15 G .416(essages and will interpret your action as requesting them to be de\ -leted from)-2.915 F(the serv)108 388.8 Q(er as well.)-.15 E +leted from)-2.916 F(the serv)108 417.6 Q(er as well.)-.15 E (\(If you don')5 E 2.5(tu)-.18 G(nderstand this, don')-2.5 E 2.5(tw)-.18 G(orry; you probably w)-2.6 E(on')-.1 E 2.5(te)-.18 G -(ncounter this situation\))-2.5 E F2(MAILING LIST)87 405.6 Q F0 -(There is an Of)108 417.6 Q(\215ineIMAP mailing list a)-.25 E -.25(va) --.2 G(ilable.).25 E 2.448 -.8(To s)108 434.4 T .847 +(ncounter this situation\))-2.5 E F2(MAILING LIST)87 434.4 Q F0 +(There is an Of)108 446.4 Q(\215ineIMAP mailing list a)-.25 E -.25(va) +-.2 G(ilable.).25 E 2.447 -.8(To s)108 463.2 T .847 (ubscribe, send the te).8 F .847 (xt "Subscribe" in the subject of a mail to of)-.15 F -(\215ineimap-request@complete.or)-.25 E 3.347(g. T)-.18 F(o)-.8 E -(post, send the message to of)108 446.4 Q(\215ineimap@complete.or)-.25 E -(g.)-.18 E F1 -.11(BU)72 463.2 S(GS).11 E F0 +(\215ineimap-request@complete.or)-.25 E 3.348(g. T)-.18 F(o)-.8 E +(post, send the message to of)108 475.2 Q(\215ineimap@complete.or)-.25 E +(g.)-.18 E F1 -.11(BU)72 492 S(GS).11 E F0 (Should be reported to the author at the address speci\214ed belo)108 -475.2 Q -.65(w.)-.25 G F1(COPYRIGHT)72 492 Q F0(Of)108 504 Q -(\215ineIMAP is Cop)-.25 E(yright \(C\) 2002 John Goerzen.)-.1 E .286 -(This program is free softw)108 520.8 R .286(are; you can redistrib)-.1 -F .287(ute it and/or modify it under the terms of the GNU General)-.2 F -.766(Public License as published by the Free Softw)108 532.8 R .766 +504 Q -.65(w.)-.25 G F1(COPYRIGHT)72 520.8 Q F0(Of)108 532.8 Q +(\215ineIMAP is Cop)-.25 E(yright \(C\) 2002 John Goerzen.)-.1 E .287 +(This program is free softw)108 549.6 R .287(are; you can redistrib)-.1 +F .286(ute it and/or modify it under the terms of the GNU General)-.2 F +.766(Public License as published by the Free Softw)108 561.6 R .766 (are F)-.1 F .766(oundation; either v)-.15 F .766 -(ersion 2 of the License, or \(at your)-.15 F(option\) an)108 544.8 Q -2.5(yl)-.15 G(ater v)-2.5 E(ersion.)-.15 E .579(This program is distrib) -108 561.6 R .579(uted in the hope that it will be useful, b)-.2 F .58 -(ut WITHOUT ANY W)-.2 F(ARRANTY)-1.2 E 3.08(;w)-.92 G(ithout)-3.08 E --2.15 -.25(ev e)108 573.6 T 2.73(nt).25 G .23(he implied w)-2.73 F .229 -(arranty of MERCHANT)-.1 F .229(ABILITY or FITNESS FOR A P)-.93 F(AR) --.92 E .229(TICULAR PURPOSE.)-.6 F(See)5.229 E -(the GNU General Public License for more details.)108 585.6 Q -1.1(Yo) -108 602.4 S 2.77(us)1.1 G .27(hould ha)-2.77 F .57 -.15(ve r)-.2 H(ecei) +(ersion 2 of the License, or \(at your)-.15 F(option\) an)108 573.6 Q +2.5(yl)-.15 G(ater v)-2.5 E(ersion.)-.15 E .58(This program is distrib) +108 590.4 R .579(uted in the hope that it will be useful, b)-.2 F .579 +(ut WITHOUT ANY W)-.2 F(ARRANTY)-1.2 E 3.079(;w)-.92 G(ithout)-3.079 E +-2.15 -.25(ev e)108 602.4 T 2.729(nt).25 G .229(he implied w)-2.729 F +.229(arranty of MERCHANT)-.1 F .229(ABILITY or FITNESS FOR A P)-.93 F +(AR)-.92 E .23(TICULAR PURPOSE.)-.6 F(See)5.23 E +(the GNU General Public License for more details.)108 614.4 Q -1.1(Yo) +108 631.2 S 2.77(us)1.1 G .27(hould ha)-2.77 F .57 -.15(ve r)-.2 H(ecei) .15 E -.15(ve)-.25 G 2.77(dac).15 G(op)-2.77 E 2.77(yo)-.1 G 2.77(ft) -2.77 G .27 (he GNU General Public License along with this program; if not, write) --2.77 F(to:)108 614.4 Q(Free Softw)108 631.2 Q(are F)-.1 E -(oundation, Inc.)-.15 E(59 T)108 643.2 Q(emple Place)-.7 E(Suite 330)108 -655.2 Q(Boston, MA)108 667.2 Q(02111-1307)5 E(USA)108 679.2 Q F1 -.548 -(AU)72 696 S(THOR).548 E F2(Of\215ineIMAP)108 708 Q(,)-.92 E F0 .488 -(its libraries, documentation, and all included \214les, e)2.988 F .488 -(xcept where noted, w)-.15 F .487(as written by John)-.1 F -(Goerzen and cop)-.18 E -(yright is held as stated in the COPYRIGHT section.)-.1 E(John Goerzen) -72 768 Q(July 11, 2002)151.655 E(5)201.915 E EP +-2.77 F(to:)108 643.2 Q(Free Softw)108 660 Q(are F)-.1 E +(oundation, Inc.)-.15 E(59 T)108 672 Q(emple Place)-.7 E(Suite 330)108 +684 Q(Boston, MA)108 696 Q(02111-1307)5 E(USA)108 708 Q(John Goerzen)72 +768 Q(July 12, 2002)151.655 E(5)201.915 E EP %%Page: 6 6 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF 111.22(OFFLINEIMAP\(1\) Of)72 48 R -(\215ineIMAP manual)-.25 E(OFFLINEIMAP\(1\))113.72 E(Of)108 84 Q +(\215ineIMAP manual)-.25 E(OFFLINEIMAP\(1\))113.72 E/F1 10.95 +/Times-Bold@0 SF -.548(AU)72 84 S(THOR).548 E/F2 10/Times-Bold@0 SF +(Of\215ineIMAP)108 96 Q(,)-.92 E F0 .488 +(its libraries, documentation, and all included \214les, e)2.987 F .488 +(xcept where noted, w)-.15 F .488(as written by John)-.1 F +(Goerzen and cop)-.18 E +(yright is held as stated in the COPYRIGHT section.)-.1 E(Of)108 124.8 Q (\215ineIMAP may be do)-.25 E(wnloaded, and information found, from its\ - homepage via either Gopher or HTTP:)-.25 E(gopher://quux.or)108 100.8 Q + homepage via either Gopher or HTTP:)-.25 E(gopher://quux.or)108 141.6 Q (g/1/de)-.18 E -.15(ve)-.25 G(l/of).15 E(\215ineimap)-.25 E -(http://quux.or)108 112.8 Q(g/de)-.18 E -.15(ve)-.25 G(l/of).15 E -(\215ineimap)-.25 E/F1 10.95/Times-Bold@0 SF(SEE ALSO)72 141.6 Q/F2 10 -/Times-Bold@0 SF(mutt)108 153.6 Q F0(\(1\),)A F2(python)2.5 E F0(\(1\).) -A(John Goerzen)72 768 Q(July 11, 2002)151.655 E(6)201.915 E EP +(http://quux.or)108 153.6 Q(g/de)-.18 E -.15(ve)-.25 G(l/of).15 E +(\215ineimap)-.25 E F1(SEE ALSO)72 182.4 Q F2(mutt)108 194.4 Q F0 +(\(1\),)A F2(python)2.5 E F0(\(1\).)A(John Goerzen)72 768 Q +(July 12, 2002)151.655 E(6)201.915 E EP %%Trailer end %%EOF diff --git a/head/manual.txt b/head/manual.txt index 6a27a0d..2a0a4de 100644 --- a/head/manual.txt +++ b/head/manual.txt @@ -8,7 +8,7 @@ NAME SYNOPSIS offlineimap [ -1 ] [ -a accountlist ] [ -c configfile ] - [ -d ] [ -u interface ] + [ -d ] [ -o ] [ -u interface ] offlineimap -h | --help @@ -175,17 +175,23 @@ OPTIONS remove that from the debugging output before send- ing it to anyone else. + -o Run only once, ignoring any autorefresh setting in + the config file. + -h, --help Show summary of options. -u interface - Specifies an alternative user interface module to - use. This overrides the default specified in the - configuration file. The UI specified with -u will - be forced to be used, even if its isuable() method - states that it cannot be. Use this option with + Specifies an alternative user interface module to + use. This overrides the default specified in the + configuration file. The UI specified with -u will + be forced to be used, even if its isuable() method + states that it cannot be. Use this option with care. + The pre-defined options are Tk.TKUI (a graphical + interface) and TTY.TTYUI (a text-mode interface). + EXAMPLES Here is an example configuration for a particularly com- plex situation; more examples will be added later. @@ -453,4 +459,4 @@ SEE ALSO -John Goerzen July 11, 2002 OFFLINEIMAP(1) +John Goerzen July 12, 2002 OFFLINEIMAP(1) diff --git a/head/offlineimap/folder/Base.py b/head/offlineimap/folder/Base.py index 2cca564..0f59a1f 100644 --- a/head/offlineimap/folder/Base.py +++ b/head/offlineimap/folder/Base.py @@ -41,6 +41,12 @@ class BaseFolder: InstanceLimitedThreads.""" raise NotImplementedException + def storesmessages(self): + """Should be true for any backend that actually saves message bodies. + (Almost all of them). False for the LocalStatus backend. Saves + us from having to slurp up messages just for localstatus purposes.""" + return 1 + def getvisiblename(self): return self.name @@ -171,8 +177,19 @@ class BaseFolder: pass def copymessageto(self, uid, applyto): + # Sometimes, it could be the case that if a sync takes awhile, + # a message might be deleted from the maildir before it can be + # synced to the status cache. This is only a problem with + # self.getmessage(). So, don't call self.getmessage unless + # really needed. __main__.ui.copyingmessage(uid, self, applyto) - message = self.getmessage(uid) + message = '' + # If any of the destinations actually stores the message body, + # load it up. + for object in applyto: + if object.storesmessages(): + message = self.getmessage(uid) + break flags = self.getmessageflags(uid) for object in applyto: newuid = object.savemessage(uid, message, flags) diff --git a/head/offlineimap/folder/LocalStatus.py b/head/offlineimap/folder/LocalStatus.py index 3e4439d..127e966 100644 --- a/head/offlineimap/folder/LocalStatus.py +++ b/head/offlineimap/folder/LocalStatus.py @@ -29,6 +29,9 @@ class LocalStatusFolder(BaseFolder): self.filename = os.path.join(root, name) self.messagelist = None + def storesmessages(self): + return 0 + def isnewfolder(self): return not os.path.exists(self.filename) diff --git a/head/offlineimap/folder/Maildir.py b/head/offlineimap/folder/Maildir.py index 8fe29d4..0e9be28 100644 --- a/head/offlineimap/folder/Maildir.py +++ b/head/offlineimap/folder/Maildir.py @@ -66,7 +66,7 @@ class MaildirFolder(BaseFolder): self.saveuidvalidity(remotefolder.getuidvalidity()) return 1 - def cachemessagelist(self): + def _scanfolder(self): """Cache the message list. Maildir flags are: R (replied) S (seen) @@ -74,7 +74,7 @@ class MaildirFolder(BaseFolder): D (draft) F (flagged) and must occur in ASCII order.""" - self.messagelist = {} + retval = {} files = [] nouidcounter = -1 # Messages without UIDs get # negative UID numbers. @@ -114,9 +114,13 @@ class MaildirFolder(BaseFolder): # more robust. os.unlink(file) else: - self.messagelist[uid] = {'uid': uid, - 'flags': flags, - 'filename': file} + retval[uid] = {'uid': uid, + 'flags': flags, + 'filename': file} + return retval + + def cachemessagelist(self): + self.messagelist = self._scanfolder() def getmessagelist(self): return self.messagelist @@ -195,6 +199,13 @@ class MaildirFolder(BaseFolder): if not uid in self.messagelist: return filename = self.getmessagelist()[uid]['filename'] - os.unlink(filename) + try: + os.unlink(filename) + except IOError: + # Can't find the file -- maybe already deleted? + newmsglist = self._scanfolder() + if uid in newmsglist: # Nope, try new filename. + os.unlink(newmsglist[uid]['filename']) + # Yep -- return. del(self.messagelist[uid])