From df62bb61a5efd7505e51712fd7cee37c0cc84132 Mon Sep 17 00:00:00 2001 From: Vladimir Marek Date: Wed, 17 Aug 2011 10:01:39 +0200 Subject: [PATCH] Create exception when file rename fails Signed-off-by: Vladimir Marek Signed-off-by: Nicolas Sebrecht --- offlineimap/folder/Maildir.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/offlineimap/folder/Maildir.py b/offlineimap/folder/Maildir.py index 3b564dc..f72f4ea 100644 --- a/offlineimap/folder/Maildir.py +++ b/offlineimap/folder/Maildir.py @@ -299,8 +299,14 @@ class MaildirFolder(BaseFolder): newfilename = os.path.join(dir_prefix, newname) if (newfilename != oldfilename): - os.rename(os.path.join(self.getfullname(), oldfilename), - os.path.join(self.getfullname(), newfilename)) + try: + os.rename(os.path.join(self.getfullname(), oldfilename), + os.path.join(self.getfullname(), newfilename)) + except OSError, e: + raise OfflineImapError("Can't rename file '%s' to '%s': %s" % ( + oldfilename, newfilename, e[1]), + OfflineImapError.ERROR.FOLDER) + self.messagelist[uid]['flags'] = flags self.messagelist[uid]['filename'] = newfilename