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 e52e88e..98aaa6e 100644 Binary files a/head/manual.pdf and b/head/manual.pdf differ 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])