New restoreatime patch from Ben Kibbey
From: Ben Kibbey Subject: Re: Removed restoratime from OfflineIMAP On Wed, May 03, 2006 at 10:08:35PM -0500, John Goerzen wrote: > Hi Ben, > > Thanks for your restoreatime patch. > > However, I have received this bug report: > > http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=365933 > > After looking at the problem, here's what's going on. > > The person is using IMAP as the local repository as well. > > You really need to move the atime save and restore code from accounts.py > into the repository/Maildir.py. Then, for any new call you add to the > Maildir repository (that will be called from outside Maildir.py), you > need to add a corresponding default function to repository/Base.py, and > also make sure that on folders (such as IMAP) where atime restoration > makes no sense, no error is generated. > > Let me know if that doesn't make sense to you. If you get it fixed, I'd > be happy to re-apply it to a future version of OfflineIMAP. > > -- John Goerzen > Attached is a new diff that should work though not really tested (v4.0.14). In repository/Base.py restore_atime() will call self.restore_folder_atimes() only if the folder type is Maildir. Let me know if it has any more problems.
This commit is contained in:
@ -51,6 +51,18 @@ class BaseRepository(CustomConfig.ConfigHelperMixin):
|
||||
if not os.path.exists(self.uiddir):
|
||||
os.mkdir(self.uiddir, 0700)
|
||||
|
||||
# The 'restoreatime' config parameter only applies to local Maildir
|
||||
# mailboxes.
|
||||
def restore_atime(self):
|
||||
if self.config.get('Repository ' + self.name, 'type').strip() != \
|
||||
'Maildir':
|
||||
return
|
||||
|
||||
if not self.config.has_option('Repository ' + self.name, 'restoreatime') or not self.config.getboolean('Repository ' + self.name, 'restoreatime'):
|
||||
return
|
||||
|
||||
return self.restore_folder_atimes()
|
||||
|
||||
def holdordropconnections(self):
|
||||
pass
|
||||
|
||||
|
Reference in New Issue
Block a user