provide non-zero exit code & display configuration mismatch error at the end of the run
This behaviour is what users would expected most. The error message is about utf8foldernames and decodefoldernames. Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
This commit is contained in:
parent
12de158ca2
commit
6b64f87462
@ -274,21 +274,6 @@ class SyncableAccount(Account):
|
|||||||
raise
|
raise
|
||||||
return
|
return
|
||||||
|
|
||||||
if self.utf_8_support and self.remoterepos.getdecodefoldernames():
|
|
||||||
e = OfflineImapError("Configuration mismatch in account " +
|
|
||||||
"'%s'. "% self.getname() +
|
|
||||||
"\nAccount setting 'utf8foldernames' and repository " +
|
|
||||||
"setting 'decodefoldernames'\nmay not be used at the " +
|
|
||||||
"same time. This account has not been synchronized.\n" +
|
|
||||||
"Please check the configuration and documentation.",
|
|
||||||
OfflineImapError.ERROR.REPO)
|
|
||||||
self.ui.error(e, exc_info()[2],
|
|
||||||
msg="Configuration mismatch in account " +
|
|
||||||
"'%s'. "% self.getname())
|
|
||||||
# Abort *this* account without doing any changes.
|
|
||||||
# Other accounts are not affected.
|
|
||||||
return
|
|
||||||
|
|
||||||
# Loop account sync if needed (bail out after 3 failures).
|
# Loop account sync if needed (bail out after 3 failures).
|
||||||
looping = 3
|
looping = 3
|
||||||
while looping:
|
while looping:
|
||||||
@ -341,6 +326,15 @@ class SyncableAccount(Account):
|
|||||||
hook = self.getconf('presynchook', '')
|
hook = self.getconf('presynchook', '')
|
||||||
self.callhook(hook)
|
self.callhook(hook)
|
||||||
|
|
||||||
|
if self.utf_8_support and self.remoterepos.getdecodefoldernames():
|
||||||
|
raise OfflineImapError("Configuration mismatch in account " +
|
||||||
|
"'%s'. "% self.getname() +
|
||||||
|
"\nAccount setting 'utf8foldernames' and repository " +
|
||||||
|
"setting 'decodefoldernames'\nmay not be used at the " +
|
||||||
|
"same time. This account has not been synchronized.\n" +
|
||||||
|
"Please check the configuration and documentation.",
|
||||||
|
OfflineImapError.ERROR.REPO)
|
||||||
|
|
||||||
quickconfig = self.getconfint('quick', 0)
|
quickconfig = self.getconfint('quick', 0)
|
||||||
if quickconfig < 0:
|
if quickconfig < 0:
|
||||||
quick = True
|
quick = True
|
||||||
|
Loading…
Reference in New Issue
Block a user