diff --git a/offlineimap/folder/Base.py b/offlineimap/folder/Base.py index 2206cb1..20d184c 100644 --- a/offlineimap/folder/Base.py +++ b/offlineimap/folder/Base.py @@ -288,6 +288,8 @@ class BaseFolder: self.savemessage(newuid, message, flags, rtime) self.deletemessage(uid) uid = newuid + except (KeyboardInterrupt): + raise except: self.ui.warn("ERROR attempting to copy message " + str(uid) \ + " for account " + self.getaccountname() + ":" + str(sys.exc_info()[1])) @@ -393,6 +395,8 @@ class BaseFolder: try: self.syncmessagesto_neguid(dest, applyto) + except (KeyboardInterrupt): + raise except: self.ui.warn("ERROR attempting to handle negative uids " \ + "for account " + self.getaccountname() + ":" + str(sys.exc_info()[1])) @@ -402,6 +406,8 @@ class BaseFolder: try: self.syncmessagesto_delete(dest, applyto) + except (KeyboardInterrupt): + raise except: self.ui.warn("ERROR attempting to delete messages " \ + "for account " + self.getaccountname() + ":" + str(sys.exc_info()[1])) @@ -412,6 +418,8 @@ class BaseFolder: try: self.syncmessagesto_flags(dest, applyto) + except (KeyboardInterrupt): + raise except: self.ui.warn("ERROR attempting to sync flags " \ + "for account " + self.getaccountname() + ":" + str(sys.exc_info()[1])) diff --git a/offlineimap/folder/LocalStatus.py b/offlineimap/folder/LocalStatus.py index 157989d..3195886 100644 --- a/offlineimap/folder/LocalStatus.py +++ b/offlineimap/folder/LocalStatus.py @@ -108,7 +108,10 @@ class LocalStatusFolder(BaseFolder): fd = os.open(os.path.dirname(self.filename), os.O_RDONLY) os.fsync(fd) os.close(fd) + except (KeyboardInterrupt): + raise except: + #TODO, we should catch a specific Exception here, not ALL. But which? pass finally: diff --git a/offlineimap/repository/Base.py b/offlineimap/repository/Base.py index 0f4dd76..cec9c61 100644 --- a/offlineimap/repository/Base.py +++ b/offlineimap/repository/Base.py @@ -163,10 +163,11 @@ class BaseRepository(CustomConfig.ConfigHelperMixin): dest.makefolder(key) for copyfolder in copyfolders: copyfolder.makefolder(key.replace(dest.getsep(), copyfolder.getsep())) + except (KeyboardInterrupt): + raise except: getglobalui().warn("ERROR Attempting to make folder " \ + key + ":" +str(sys.exc_info()[1])) - # # Find deleted folders.