decouple utime_from_header from rtime

We were using rtime for two different purposes:
- to store remote internal date
- to use in the utime_from_header option

Let's decouple the utime_from_header logic from rtime, now rtime means
remote internal date.

Signed-off-by: Abdo Roig-Maranges <abdo.roig@gmail.com>
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
This commit is contained in:
Abdo Roig-Maranges 2015-04-02 14:41:47 +02:00 committed by Nicolas Sebrecht
parent 3a056519f9
commit 0c17350e4f
2 changed files with 5 additions and 8 deletions

View File

@ -692,9 +692,6 @@ class BaseFolder(object):
message = None
flags = self.getmessageflags(uid)
rtime = self.getmessagetime(uid)
if dstfolder.utime_from_header:
content = self.getmessage(uid)
rtime = emailutil.get_message_date(content, 'Date')
# If any of the destinations actually stores the message body,
# load it up.
@ -766,9 +763,6 @@ class BaseFolder(object):
# dst has message with that UID already, only update status
flags = self.getmessageflags(uid)
rtime = self.getmessagetime(uid)
if dstfolder.utime_from_header:
content = self.getmessage(uid)
rtime = emailutil.get_message_date(content, 'Date')
statusfolder.savemessage(uid, None, flags, rtime)
continue

View File

@ -324,8 +324,11 @@ class MaildirFolder(BaseFolder):
tmpdir = os.path.join(self.getfullname(), 'tmp')
messagename = self.new_message_filename(uid, flags)
tmpname = self.save_to_tmp_file(messagename, content)
if rtime != None:
os.utime(os.path.join(self.getfullname(), tmpname), (rtime, rtime))
if self.utime_from_header:
date = emailutil.get_message_date(content, 'Date')
if date != None:
os.utime(os.path.join(self.getfullname(), tmpname), (date, date))
self.messagelist[uid] = self.msglist_item_initializer(uid)
self.messagelist[uid]['flags'] = flags