docker-offlineimap/offlineimap/error.py
Sebastian Spaeth 8cce178fb8 Improve developer documentation
Well, this patch... improves it. :)

Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2011-08-30 22:19:16 +02:00

37 lines
1.3 KiB
Python

class OfflineImapError(Exception):
"""An Error during offlineimap synchronization"""
class ERROR:
"""Severity level of an Exception
* **MESSAGE**: Abort the current message, but continue with folder
* **FOLDER**: Abort folder sync, but continue with next folder
* **REPO**: Abort repository sync, continue with next account
* **CRITICAL**: Immediately exit offlineimap
"""
MESSAGE, FOLDER, REPO, CRITICAL = 0, 10, 20, 30
def __init__(self, reason, severity, errcode=None):
"""
:param reason: Human readable string suitable for logging
:param severity: denoting which operations should be
aborted. E.g. a ERROR.MESSAGE can occur on a faulty
message, but a ERROR.REPO occurs when the server is
offline.
:param errcode: optional number denoting a predefined error
situation (which let's us exit with a predefined exit
value). So far, no errcodes have been defined yet.
:type severity: OfflineImapError.ERROR value"""
self.errcode = errcode
self.severity = severity
# 'reason' is stored in the Exception().args tuple.
super(OfflineImapError, self).__init__(reason)
@property
def reason(self):
return self.args[0]