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
	 John Goerzen
					John Goerzen