ud-mailgate: remove exception for münchen.debian.net
[mirror/userdir-ldap.git] / userdir_exceptions.py
index 4e32307..ec879a9 100644 (file)
@@ -1,12 +1,13 @@
 # vim: set fileencoding=utf-8 ai et sts=4 sw=4 tw=0:
-# -*- coding: <utf-8> -*-
-## Userdir-LDAP exception classes 
-## © 2009 Stephen Gran <sgran@debian.org>
-## © 2009 Mark Hymers <mhy@debian.org>
+# -*- coding: <utf-8> -*-
+# Userdir-LDAP exception classes
+# © 2009 Stephen Gran <sgran@debian.org>
+# © 2009 Mark Hymers <mhy@debian.org>
 """
 These classes implement the necessary exceptions in the userdir-ldap namespace
 """
 
+
 class UDError(Exception):
     """
     Base class for exceptions in ud-ldap.
@@ -14,20 +15,24 @@ class UDError(Exception):
     def __init__(self, message):
         Exception.__init__(self)
         self.message = message
-    
+
     def __str__(self):
-        return "UDError: %s" % self.message
+        return "%s: %s" % (self._name_, self.message)
+
 
 __all__ = ['UDError']
 
+
 UDERRORS = {
     "UDPasswdError": """Exception raised for authentication errors.""",
     "UDFormatError": """Exception raised for data format errors.""",
     "UDExecuteError": """Exception raised for subprocess execution errors.""",
     "UDNotAllowedError": """Exception raised for attempts to modify off-limits or disabled entries.""",
     "UDEmptyList": """Exception raised for empty list objects.""",
+    "UDLoadFail": """Exception raised for LDAP lookup failures.""",
 }
 
+
 def construct_udld_exception(name, description):
     """Generator function for userdir-ldap exceptions"""
 
@@ -36,9 +41,10 @@ def construct_udld_exception(name, description):
         __doc__ = description
 
     setattr(Error, "__name__", name)
+    setattr(Error, "_name_", name)
     return Error
 
+
 for key in UDERRORS.keys():
     globals()[key] = construct_udld_exception(key, UDERRORS[key])
     __all__ += [key]
-