# 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.
def __init__(self, message):
Exception.__init__(self)
self.message = message
-
+
def __str__(self):
return "%s: %s" % (self._name_, self.message)
+
__all__ = ['UDError']
+
UDERRORS = {
"UDPasswdError": """Exception raised for authentication errors.""",
"UDFormatError": """Exception raised for data format errors.""",
"UDLoadFail": """Exception raised for LDAP lookup failures.""",
}
+
def construct_udld_exception(name, description):
"""Generator function for userdir-ldap exceptions"""
setattr(Error, "_name_", name)
return Error
+
for key in UDERRORS.keys():
globals()[key] = construct_udld_exception(key, UDERRORS[key])
__all__ += [key]
-