summaryrefslogtreecommitdiff
path: root/src/mailman/core/errors.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/mailman/core/errors.py')
-rw-r--r--src/mailman/core/errors.py28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/mailman/core/errors.py b/src/mailman/core/errors.py
index 529ac86fe..42b536d46 100644
--- a/src/mailman/core/errors.py
+++ b/src/mailman/core/errors.py
@@ -43,7 +43,10 @@ __all__ = [
'MemberError',
'MustDigestError',
'PasswordError',
+ 'RESTError',
+ 'ReadOnlyPATCHRequestError',
'RejectMessage',
+ 'UnknownPATCHRequestError',
]
@@ -87,6 +90,12 @@ def _(s):
class HandlerError(MailmanError):
"""Base class for all handler errors."""
+ def __init__(self, message=None):
+ self.message = message
+
+ def __str__(self):
+ return self.message
+
class HoldMessage(HandlerError):
"""Base class for all message-being-held short circuits."""
@@ -126,3 +135,22 @@ class BadPasswordSchemeError(PasswordError):
def __str__(self):
return 'A bad password scheme was given: %s' % self.scheme_name
+
+
+
+class RESTError(MailmanError):
+ """Base class for REST API errors."""
+
+
+class UnknownPATCHRequestError(RESTError):
+ """A PATCH request contained an unknown attribute."""
+
+ def __init__(self, attribute):
+ self.attribute = attribute
+
+
+class ReadOnlyPATCHRequestError(RESTError):
+ """A PATCH request contained a read-only attribute."""
+
+ def __init__(self, attribute):
+ self.attribute = attribute