Fix fallout when filtering folders
Previous commit e7ca5b25cba0679aa800b490d063b24c40864839 combined checks for filtered folders in one place. However, it turns out there was a reason to have them separate. getfolder() on a non-existent Maildir fails and there might not be an equivalent local Maildir folder for a filtered out IMAP folder. Fix this by first checking if the remote folder should be filtered, and only then retrieving the local folder (which should exist then). This bug was found by our test suite! Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
This commit is contained in:
parent
49c11fc8f0
commit
3476e9ab36
@ -312,12 +312,15 @@ class SyncableAccount(Account):
|
|||||||
# check for CTRL-C or SIGTERM
|
# check for CTRL-C or SIGTERM
|
||||||
if Account.abort_NOW_signal.is_set(): break
|
if Account.abort_NOW_signal.is_set(): break
|
||||||
|
|
||||||
localfolder = self.get_local_folder(remotefolder)
|
if not remotefolder.sync_this:
|
||||||
if not (remotefolder.sync_this
|
|
||||||
and localfolder.sync_this):
|
|
||||||
self.ui.debug('', "Not syncing filtered folder '%s'"
|
self.ui.debug('', "Not syncing filtered folder '%s'"
|
||||||
"[%s]" % (remotefolder, remoterepos))
|
"[%s]" % (remotefolder, remoterepos))
|
||||||
continue # Ignore filtered folder
|
continue # Ignore filtered folder
|
||||||
|
localfolder = self.get_local_folder(remotefolder)
|
||||||
|
if not localfolder.sync_this:
|
||||||
|
self.ui.debug('', "Not syncing filtered folder '%s'"
|
||||||
|
"[%s]" % (localfolder, localfolder.repository))
|
||||||
|
continue # Ignore filtered folder
|
||||||
thread = InstanceLimitedThread(\
|
thread = InstanceLimitedThread(\
|
||||||
instancename = 'FOLDER_' + self.remoterepos.getname(),
|
instancename = 'FOLDER_' + self.remoterepos.getname(),
|
||||||
target = syncfolder,
|
target = syncfolder,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user