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:
		
				
					committed by
					
						
						Nicolas Sebrecht
					
				
			
			
				
	
			
			
			
						parent
						
							3a056519f9
						
					
				
				
					commit
					0c17350e4f
				
			@@ -692,9 +692,6 @@ class BaseFolder(object):
 | 
				
			|||||||
            message = None
 | 
					            message = None
 | 
				
			||||||
            flags = self.getmessageflags(uid)
 | 
					            flags = self.getmessageflags(uid)
 | 
				
			||||||
            rtime = self.getmessagetime(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,
 | 
					            # If any of the destinations actually stores the message body,
 | 
				
			||||||
            # load it up.
 | 
					            # load it up.
 | 
				
			||||||
@@ -766,9 +763,6 @@ class BaseFolder(object):
 | 
				
			|||||||
                # dst has message with that UID already, only update status
 | 
					                # dst has message with that UID already, only update status
 | 
				
			||||||
                flags = self.getmessageflags(uid)
 | 
					                flags = self.getmessageflags(uid)
 | 
				
			||||||
                rtime = self.getmessagetime(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)
 | 
					                statusfolder.savemessage(uid, None, flags, rtime)
 | 
				
			||||||
                continue
 | 
					                continue
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -324,8 +324,11 @@ class MaildirFolder(BaseFolder):
 | 
				
			|||||||
        tmpdir = os.path.join(self.getfullname(), 'tmp')
 | 
					        tmpdir = os.path.join(self.getfullname(), 'tmp')
 | 
				
			||||||
        messagename = self.new_message_filename(uid, flags)
 | 
					        messagename = self.new_message_filename(uid, flags)
 | 
				
			||||||
        tmpname = self.save_to_tmp_file(messagename, content)
 | 
					        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] = self.msglist_item_initializer(uid)
 | 
				
			||||||
        self.messagelist[uid]['flags'] = flags
 | 
					        self.messagelist[uid]['flags'] = flags
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user