Robustify error msg against more failure
When syncfolder() fails, we output an error message containing the foldername per the localfolder variable. However, the localfolder variable is assigned inside our try: block and when the error occurs there, we will have no localfolder variable to use for output. This caused the errormsg to cause an Exception itself which unhelpfully distracts from the root cause of the error. Reconstruct the folder name in a bit more complex way, but in a way so it is guaranteed to work (by relying on parameters passed in to the function). Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
This commit is contained in:
parent
248f23afd6
commit
1b6d76345a
@ -420,8 +420,15 @@ def syncfolder(accountname, remoterepos, remotefolder, localrepos,
|
||||
if e.severity > OfflineImapError.ERROR.FOLDER:
|
||||
raise
|
||||
else:
|
||||
ui.error(e, exc_info()[2], msg = "Aborting folder sync '%s' "
|
||||
"[acc: '%s']" % (localfolder, accountname))
|
||||
#if the initial localfolder assignement bailed out, the localfolder var will not be available, so we need
|
||||
ui.error(e, exc_info()[2], msg = "Aborting sync, folder '%s' "
|
||||
"[acc: '%s']" % (
|
||||
remotefolder.getvisiblename().\
|
||||
replace(remoterepos.getsep(), localrepos.getsep()),
|
||||
accountname))
|
||||
# we reconstruct foldername above rather than using
|
||||
# localfolder, as the localfolder var is not
|
||||
# available if assignment fails.
|
||||
except Exception, e:
|
||||
ui.error(e, msg = "ERROR in syncfolder for %s folder %s: %s" % \
|
||||
(accountname,remotefolder.getvisiblename(),
|
||||
|
Loading…
Reference in New Issue
Block a user