correctly reraise errors with six
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
This commit is contained in:
		| @@ -1,5 +1,5 @@ | ||||
| # Maildir folder support | ||||
| # Copyright (C) 2002-2016 John Goerzen & contributors | ||||
| # Copyright (C) 2002-2016 John Goerzen & contributors. | ||||
| # | ||||
| #    This program is free software; you can redistribute it and/or modify | ||||
| #    it under the terms of the GNU General Public License as published by | ||||
| @@ -22,8 +22,6 @@ import os | ||||
| import six | ||||
| from sys import exc_info | ||||
| from threading import Lock | ||||
| from .Base import BaseFolder | ||||
|  | ||||
| try: | ||||
|     from hashlib import md5 | ||||
| except ImportError: | ||||
| @@ -34,6 +32,7 @@ except NameError: | ||||
|     from sets import Set as set | ||||
|  | ||||
| from offlineimap import OfflineImapError, emailutil | ||||
| from .Base import BaseFolder | ||||
|  | ||||
| # Find the UID in a message filename | ||||
| re_uidmatch = re.compile(',U=(\d+)') | ||||
| @@ -318,8 +317,11 @@ class MaildirFolder(BaseFolder): | ||||
|                         time.sleep(0.23) | ||||
|                         continue | ||||
|                     severity = OfflineImapError.ERROR.MESSAGE | ||||
|                     six.reraise(OfflineImapError("Unique filename %s already exists."% | ||||
|                         filename, severity), None, exc_info()[2]) | ||||
|                     six.reraise(OfflineImapError, | ||||
|                                 OfflineImapError( | ||||
|                                     "Unique filename %s already exists."% | ||||
|                                     filename, severity), | ||||
|                                 exc_info()[2]) | ||||
|                 else: | ||||
|                     raise | ||||
|  | ||||
| @@ -439,9 +441,12 @@ class MaildirFolder(BaseFolder): | ||||
|                 os.rename(os.path.join(self.getfullname(), oldfilename), | ||||
|                           os.path.join(self.getfullname(), newfilename)) | ||||
|             except OSError as e: | ||||
|                 six.reraise(OfflineImapError("Can't rename file '%s' to '%s': %s" % ( | ||||
|                                        oldfilename, newfilename, e[1]), | ||||
|                                        OfflineImapError.ERROR.FOLDER), None, exc_info()[2]) | ||||
|                 six.reraise(OfflineImapError, | ||||
|                             OfflineImapError( | ||||
|                                 "Can't rename file '%s' to '%s': %s"% | ||||
|                                 (oldfilename, newfilename, e[1]), | ||||
|                                 OfflineImapError.ERROR.FOLDER), | ||||
|                             exc_info()[2]) | ||||
|  | ||||
|             self.messagelist[uid]['flags'] = flags | ||||
|             self.messagelist[uid]['filename'] = newfilename | ||||
| @@ -519,10 +524,12 @@ class MaildirFolder(BaseFolder): | ||||
|                     try: | ||||
|                         os.rename(filename, newfilename) | ||||
|                     except OSError as e: | ||||
|                         six.reraise(OfflineImapError( | ||||
|                             "Can't rename file '%s' to '%s': %s" % ( | ||||
|                                 filename, newfilename, e[1]), | ||||
|                             OfflineImapError.ERROR.FOLDER), None, exc_info()[2]) | ||||
|                         six.reraise(OfflineImapError, | ||||
|                                 OfflineImapError( | ||||
|                                     "Can't rename file '%s' to '%s': %s"% | ||||
|                                     (filename, newfilename, e[1]), | ||||
|                                     OfflineImapError.ERROR.FOLDER), | ||||
|                                 exc_info()[2]) | ||||
|             elif match.group(1) != self._foldermd5: | ||||
|                 self.ui.warn(("Inconsistent FMD5 for file `%s':" | ||||
|                               " Neither `%s' nor `%s' found") | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Nicolas Sebrecht
					Nicolas Sebrecht