1 # vim: set fileencoding=utf-8 ai et sts=4 sw=4 tw=0:
2 # # -*- coding: <utf-8> -*-
3 ## Userdir-LDAP exception classes
4 ## © 2009 Stephen Gran <sgran@debian.org>
5 ## © 2009 Mark Hymers <mhy@debian.org>
7 These classes implement the necessary exceptions in the userdir-ldap namespace
10 class UDError(Exception):
12 Base class for exceptions in ud-ldap.
14 def __init__(self, message):
15 Exception.__init__(self)
16 self.message = message
19 return "UDError: %s" % self.message
24 "UDPasswdError": """Exception raised for authentication errors.""",
25 "UDFormatError": """Exception raised for data format errors.""",
26 "UDExecuteError": """Exception raised for subprocess execution errors.""",
27 "UDNotAllowedError": """Exception raised for attempts to modify off-limits or disabled entries.""",
30 def construct_udld_exception(name, description):
31 """Generator function for userdir-ldap exceptions"""
34 """meta class for user-ldap exceptions"""
37 setattr(Error, "__name__", name)
40 for key in UDERRORS.keys():
41 globals()[key] = construct_udld_exception(key, UDERRORS[key])