Better trace information when an exception is caught.
Signed-off-by: Edward Z. Yang <ezyang@mit.edu> Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de> Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
This commit is contained in:
parent
fa60f3f9b7
commit
e506442996
@ -24,6 +24,7 @@ from threading import Event, Lock
|
|||||||
import os
|
import os
|
||||||
from Queue import Queue, Empty
|
from Queue import Queue, Empty
|
||||||
import sys
|
import sys
|
||||||
|
import traceback
|
||||||
|
|
||||||
class SigListener(Queue):
|
class SigListener(Queue):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
@ -191,7 +192,7 @@ class AccountSynchronizationMixin:
|
|||||||
raise
|
raise
|
||||||
except:
|
except:
|
||||||
self.ui.warn("Error occured attempting to sync account " + self.name \
|
self.ui.warn("Error occured attempting to sync account " + self.name \
|
||||||
+ ": " + str(sys.exc_info()[1]))
|
+ ": " + traceback.format_exc())
|
||||||
finally:
|
finally:
|
||||||
self.ui.acctdone(self.name)
|
self.ui.acctdone(self.name)
|
||||||
|
|
||||||
@ -207,7 +208,7 @@ class AccountSynchronizationMixin:
|
|||||||
raise
|
raise
|
||||||
except:
|
except:
|
||||||
self.ui.warn("Error occured attempting to sync account " + self.name \
|
self.ui.warn("Error occured attempting to sync account " + self.name \
|
||||||
+ ": " + str(sys.exc_info()[1]))
|
+ ": " + traceback.format_exc())
|
||||||
finally:
|
finally:
|
||||||
looping = self.sleeper(siglistener) != 2
|
looping = self.sleeper(siglistener) != 2
|
||||||
self.ui.acctdone(self.name)
|
self.ui.acctdone(self.name)
|
||||||
|
@ -22,6 +22,7 @@ from offlineimap.ui import getglobalui
|
|||||||
import os.path
|
import os.path
|
||||||
import re
|
import re
|
||||||
import sys
|
import sys
|
||||||
|
import traceback
|
||||||
|
|
||||||
class BaseFolder:
|
class BaseFolder:
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
@ -292,8 +293,8 @@ class BaseFolder:
|
|||||||
except (KeyboardInterrupt):
|
except (KeyboardInterrupt):
|
||||||
raise
|
raise
|
||||||
except:
|
except:
|
||||||
self.ui.warn("ERROR attempting to copy message " + str(uid) \
|
UIBase.getglobalui().warn("ERROR attempting to copy message " + str(uid) \
|
||||||
+ " for account " + self.getaccountname() + ":" + str(sys.exc_info()[1]))
|
+ " for account " + self.getaccountname() + ":" + traceback.format_exc())
|
||||||
|
|
||||||
|
|
||||||
def syncmessagesto_copy(self, dest, applyto):
|
def syncmessagesto_copy(self, dest, applyto):
|
||||||
@ -399,8 +400,8 @@ class BaseFolder:
|
|||||||
except (KeyboardInterrupt):
|
except (KeyboardInterrupt):
|
||||||
raise
|
raise
|
||||||
except:
|
except:
|
||||||
self.ui.warn("ERROR attempting to handle negative uids " \
|
UIBase.getglobalui().warn("ERROR attempting to handle negative uids " \
|
||||||
+ "for account " + self.getaccountname() + ":" + str(sys.exc_info()[1]))
|
+ "for account " + self.getaccountname() + ":" + traceback.format_exc())
|
||||||
|
|
||||||
#all threads launched here are in try / except clauses when they copy anyway...
|
#all threads launched here are in try / except clauses when they copy anyway...
|
||||||
self.syncmessagesto_copy(dest, applyto)
|
self.syncmessagesto_copy(dest, applyto)
|
||||||
@ -410,8 +411,8 @@ class BaseFolder:
|
|||||||
except (KeyboardInterrupt):
|
except (KeyboardInterrupt):
|
||||||
raise
|
raise
|
||||||
except:
|
except:
|
||||||
self.ui.warn("ERROR attempting to delete messages " \
|
UIBase.getglobalui().warn("ERROR attempting to delete messages " \
|
||||||
+ "for account " + self.getaccountname() + ":" + str(sys.exc_info()[1]))
|
+ "for account " + self.getaccountname() + ":" + traceback.format_exc())
|
||||||
|
|
||||||
# Now, the message lists should be identical wrt the uids present.
|
# Now, the message lists should be identical wrt the uids present.
|
||||||
# (except for potential negative uids that couldn't be placed
|
# (except for potential negative uids that couldn't be placed
|
||||||
@ -422,7 +423,7 @@ class BaseFolder:
|
|||||||
except (KeyboardInterrupt):
|
except (KeyboardInterrupt):
|
||||||
raise
|
raise
|
||||||
except:
|
except:
|
||||||
self.ui.warn("ERROR attempting to sync flags " \
|
UIBase.getglobalui().warn("ERROR attempting to sync flags " \
|
||||||
+ "for account " + self.getaccountname() + ":" + str(sys.exc_info()[1]))
|
+ "for account " + self.getaccountname() + ":" + traceback.format_exc())
|
||||||
|
|
||||||
|
|
||||||
|
@ -20,6 +20,7 @@ from offlineimap import CustomConfig
|
|||||||
from offlineimap.ui import getglobalui
|
from offlineimap.ui import getglobalui
|
||||||
import os.path
|
import os.path
|
||||||
import sys
|
import sys
|
||||||
|
import traceback
|
||||||
|
|
||||||
def LoadRepository(name, account, reqtype):
|
def LoadRepository(name, account, reqtype):
|
||||||
from offlineimap.repository.Gmail import GmailRepository
|
from offlineimap.repository.Gmail import GmailRepository
|
||||||
@ -166,8 +167,8 @@ class BaseRepository(CustomConfig.ConfigHelperMixin):
|
|||||||
except (KeyboardInterrupt):
|
except (KeyboardInterrupt):
|
||||||
raise
|
raise
|
||||||
except:
|
except:
|
||||||
getglobalui().warn("ERROR Attempting to make folder " \
|
UIBase.getglobalui().warn("ERROR Attempting to make folder " \
|
||||||
+ key + ":" +str(sys.exc_info()[1]))
|
+ key + ":" +traceback.format_exc())
|
||||||
|
|
||||||
#
|
#
|
||||||
# Find deleted folders.
|
# Find deleted folders.
|
||||||
|
Loading…
Reference in New Issue
Block a user