Add OfflineImapError class
This Exception can be thrown whenever a sync error occurs. It is used for outputting sensible error messages to the user and it denotes a "severity", it can tell offlineimap if we need to abort a message, a folder, a repo sync, or whether we should indeed abort immediately. The exception is not yet used in the code. Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de> Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
This commit is contained in:
		 Sebastian Spaeth
					Sebastian Spaeth
				
			
				
					committed by
					
						 Nicolas Sebrecht
						Nicolas Sebrecht
					
				
			
			
				
	
			
			
			 Nicolas Sebrecht
						Nicolas Sebrecht
					
				
			
						parent
						
							3446b592f3
						
					
				
				
					commit
					bc004a911a
				
			| @@ -18,6 +18,7 @@ to distribute it under the conditions laid out in COPYING.""" | ||||
| __homepage__ = "http://github.com/nicolas33/offlineimap" | ||||
| __license__  = "Licensed under the GNU GPL v2+ (v2 or any later version)." | ||||
|  | ||||
| from offlineimap.error import OfflineImapError | ||||
| # put this last, so we don't run into circular dependencies using  | ||||
| # e.g. offlineimap.__version__. | ||||
| from offlineimap.init import OfflineImap | ||||
|   | ||||
							
								
								
									
										33
									
								
								offlineimap/error.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								offlineimap/error.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,33 @@ | ||||
| class OfflineImapError(Exception): | ||||
|     """An Error during offlineimap synchronization""" | ||||
|  | ||||
|     class ERROR: | ||||
|         """Severity levels""" | ||||
|         MESSAGE  = 0 | ||||
|         FOLDER   = 10 | ||||
|         REPO     = 20 | ||||
|         CRITICAL = 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] | ||||
		Reference in New Issue
	
	Block a user