summaryrefslogtreecommitdiff
path: root/src/mailman/interfaces/member.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/mailman/interfaces/member.py')
-rw-r--r--src/mailman/interfaces/member.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/mailman/interfaces/member.py b/src/mailman/interfaces/member.py
index 87ad19c83..66cf61581 100644
--- a/src/mailman/interfaces/member.py
+++ b/src/mailman/interfaces/member.py
@@ -28,6 +28,7 @@ __all__ = [
'MemberRole',
'MembershipError',
'MembershipIsBannedError',
+ 'NotAMemberError',
]
@@ -105,6 +106,20 @@ class MembershipIsBannedError(MembershipError):
self._address, self._mlist)
+@error_status(400)
+class NotAMemberError(MembershipError):
+ """The address is not a member of the mailing list."""
+
+ def __init__(self, mlist, address):
+ super(NotAMemberError, self).__init__()
+ self._mlist = mlist
+ self._address = address
+
+ def __str__(self):
+ return '{0} is not a member of {1.fqdn_listname}'.format(
+ self._address, self._mlist)
+
+
class IMember(Interface):
"""A member of a mailing list."""