Copymessageto should not be private since we override it
private methods prevent them from being overriden on derived classes. In GmailFolder we need to override copymessageto, so it can't be private. Before this commit, copymessageto was made private in Base but not in GmailFolder. The end result was that labels were not set when copying the message content, and always needed to be set on the label copying pass. Pointyhat-to: Eygene Ryabinkin Signed-off-by: Eygene Ryabinkin <rea@codelabs.ru>
This commit is contained in:
parent
6453ab0db7
commit
1690e5f74e
@ -542,7 +542,7 @@ next line\n
|
|||||||
for uid in uidlist:
|
for uid in uidlist:
|
||||||
self.deletemessage(uid)
|
self.deletemessage(uid)
|
||||||
|
|
||||||
def __copymessageto(self, uid, dstfolder, statusfolder, register = 1):
|
def copymessageto(self, uid, dstfolder, statusfolder, register = 1):
|
||||||
"""Copies a message from self to dst if needed, updating the status
|
"""Copies a message from self to dst if needed, updating the status
|
||||||
|
|
||||||
Note that this function does not check against dryrun settings,
|
Note that this function does not check against dryrun settings,
|
||||||
@ -624,7 +624,7 @@ next line\n
|
|||||||
not in the statusfolder yet. The strategy is:
|
not in the statusfolder yet. The strategy is:
|
||||||
|
|
||||||
1) Look for messages present in self but not in statusfolder.
|
1) Look for messages present in self but not in statusfolder.
|
||||||
2) invoke __copymessageto() on those which:
|
2) invoke copymessageto() on those which:
|
||||||
- If dstfolder doesn't have it yet, add them to dstfolder.
|
- If dstfolder doesn't have it yet, add them to dstfolder.
|
||||||
- Update statusfolder
|
- Update statusfolder
|
||||||
|
|
||||||
@ -645,18 +645,18 @@ next line\n
|
|||||||
if offlineimap.accounts.Account.abort_NOW_signal.is_set():
|
if offlineimap.accounts.Account.abort_NOW_signal.is_set():
|
||||||
break
|
break
|
||||||
self.ui.copyingmessage(uid, num+1, num_to_copy, self, dstfolder)
|
self.ui.copyingmessage(uid, num+1, num_to_copy, self, dstfolder)
|
||||||
# exceptions are caught in __copymessageto()
|
# exceptions are caught in copymessageto()
|
||||||
if self.suggeststhreads() and not globals.options.singlethreading:
|
if self.suggeststhreads() and not globals.options.singlethreading:
|
||||||
self.waitforthread()
|
self.waitforthread()
|
||||||
thread = threadutil.InstanceLimitedThread(\
|
thread = threadutil.InstanceLimitedThread(\
|
||||||
self.getcopyinstancelimit(),
|
self.getcopyinstancelimit(),
|
||||||
target = self.__copymessageto,
|
target = self.copymessageto,
|
||||||
name = "Copy message from %s:%s" % (self.repository, self),
|
name = "Copy message from %s:%s" % (self.repository, self),
|
||||||
args = (uid, dstfolder, statusfolder))
|
args = (uid, dstfolder, statusfolder))
|
||||||
thread.start()
|
thread.start()
|
||||||
threads.append(thread)
|
threads.append(thread)
|
||||||
else:
|
else:
|
||||||
self.__copymessageto(uid, dstfolder, statusfolder,
|
self.copymessageto(uid, dstfolder, statusfolder,
|
||||||
register = 0)
|
register = 0)
|
||||||
for thread in threads:
|
for thread in threads:
|
||||||
thread.join()
|
thread.join()
|
||||||
|
Loading…
Reference in New Issue
Block a user