summaryrefslogtreecommitdiff
path: root/src/mailman/interfaces/user.py
diff options
context:
space:
mode:
authorBarry Warsaw2011-04-17 11:37:06 -0400
committerBarry Warsaw2011-04-17 11:37:06 -0400
commitc2130f46808b3cf3cc27311d6d6f6b608e76b267 (patch)
treef020d0d8034f0e21bc3f00787e5d3b7f447954e5 /src/mailman/interfaces/user.py
parentc894152772595a1acbd6dc4c1ac0e033888ea923 (diff)
parente2ed3ae7dfa138a8288b4c49cd2b671c35f6c703 (diff)
downloadmailman-c2130f46808b3cf3cc27311d6d6f6b608e76b267.tar.gz
mailman-c2130f46808b3cf3cc27311d6d6f6b608e76b267.tar.zst
mailman-c2130f46808b3cf3cc27311d6d6f6b608e76b267.zip
Diffstat (limited to 'src/mailman/interfaces/user.py')
-rw-r--r--src/mailman/interfaces/user.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/mailman/interfaces/user.py b/src/mailman/interfaces/user.py
index 2c2652413..ceffec57f 100644
--- a/src/mailman/interfaces/user.py
+++ b/src/mailman/interfaces/user.py
@@ -22,11 +22,26 @@ from __future__ import absolute_import, unicode_literals
__metaclass__ = type
__all__ = [
'IUser',
+ 'UnverifiedAddressError',
]
from zope.interface import Interface, Attribute
+from mailman.interfaces.errors import MailmanError
+
+
+
+class UnverifiedAddressError(MailmanError):
+ """Unverified address cannot be used as a user's preferred address."""
+
+ def __init__(self, address):
+ super(UnverifiedAddressError, self).__init__()
+ self.address = address
+
+ def __str__(self):
+ return self.address
+
class IUser(Interface):
@@ -47,6 +62,9 @@ class IUser(Interface):
addresses = Attribute(
"""An iterator over all the `IAddresses` controlled by this user.""")
+ preferred_address = Attribute(
+ """The user's preferred `IAddress`. This must be validated.""")
+
memberships = Attribute(
"""A roster of this user's memberships.""")