summaryrefslogtreecommitdiff
path: root/src/mailman/rest/validator.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/mailman/rest/validator.py')
-rw-r--r--src/mailman/rest/validator.py21
1 files changed, 19 insertions, 2 deletions
diff --git a/src/mailman/rest/validator.py b/src/mailman/rest/validator.py
index 6b708872a..748a63d5c 100644
--- a/src/mailman/rest/validator.py
+++ b/src/mailman/rest/validator.py
@@ -27,9 +27,8 @@ __all__ = [
]
-from mailman.core.errors import (
- ReadOnlyPATCHRequestError, UnknownPATCHRequestError)
from mailman.interfaces.address import IEmailValidator
+from mailman.interfaces.errors import MailmanError
from mailman.interfaces.languages import ILanguageManager
from zope.component import getUtility
@@ -37,6 +36,24 @@ from zope.component import getUtility
COMMASPACE = ', '
+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
+
+
class enum_validator:
"""Convert an enum value name into an enum value."""