summaryrefslogtreecommitdiff
path: root/mailman/interfaces/member.py
diff options
context:
space:
mode:
Diffstat (limited to 'mailman/interfaces/member.py')
-rw-r--r--mailman/interfaces/member.py187
1 files changed, 0 insertions, 187 deletions
diff --git a/mailman/interfaces/member.py b/mailman/interfaces/member.py
deleted file mode 100644
index 2e966879d..000000000
--- a/mailman/interfaces/member.py
+++ /dev/null
@@ -1,187 +0,0 @@
-# Copyright (C) 2007-2009 by the Free Software Foundation, Inc.
-#
-# This file is part of GNU Mailman.
-#
-# GNU Mailman is free software: you can redistribute it and/or modify it under
-# the terms of the GNU General Public License as published by the Free
-# Software Foundation, either version 3 of the License, or (at your option)
-# any later version.
-#
-# GNU Mailman is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
-# more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# GNU Mailman. If not, see <http://www.gnu.org/licenses/>.
-
-"""Interface describing the basics of a member."""
-
-from __future__ import absolute_import, unicode_literals
-
-__metaclass__ = type
-__all__ = [
- 'AlreadySubscribedError',
- 'DeliveryMode',
- 'DeliveryStatus',
- 'IMember',
- 'MemberRole',
- ]
-
-
-from munepy import Enum
-from zope.interface import Interface, Attribute
-
-from mailman.core.errors import SubscriptionError
-
-
-
-class DeliveryMode(Enum):
- # Regular (i.e. non-digest) delivery
- regular = 1
- # Plain text digest delivery
- plaintext_digests = 2
- # MIME digest delivery
- mime_digests = 3
- # Summary digests
- summary_digests = 4
-
-
-
-class DeliveryStatus(Enum):
- # Delivery is enabled
- enabled = 1
- # Delivery was disabled by the user
- by_user = 2
- # Delivery was disabled due to bouncing addresses
- by_bounces = 3
- # Delivery was disabled by an administrator or moderator
- by_moderator = 4
- # Disabled for unknown reasons.
- unknown = 5
-
-
-
-class MemberRole(Enum):
- member = 1
- owner = 2
- moderator = 3
-
-
-
-class AlreadySubscribedError(SubscriptionError):
- """The member is already subscribed to the mailing list with this role."""
-
- def __init__(self, fqdn_listname, address, role):
- super(AlreadySubscribedError, self).__init__()
- self._fqdn_listname = fqdn_listname
- self._address = address
- self._role = role
-
- def __str__(self):
- return '{0} is already a {1} of mailing list {2}'.format(
- self._address, self._role, self._fqdn_listname)
-
-
-
-class IMember(Interface):
- """A member of a mailing list."""
-
- mailing_list = Attribute(
- """The mailing list subscribed to.""")
-
- address = Attribute(
- """The email address that's subscribed to the list.""")
-
- preferences = Attribute(
- """This member's preferences.""")
-
- role = Attribute(
- """The role of this membership.""")
-
- is_moderated = Attribute(
- """True if the membership is moderated, otherwise False.""")
-
- def unsubscribe():
- """Unsubscribe (and delete) this member from the mailing list."""
-
- acknowledge_posts = Attribute(
- """Send an acknowledgment for every posting?
-
- Unlike going through the preferences, this attribute return the
- preference value based on the following lookup order:
-
- 1. The member
- 2. The address
- 3. The user
- 4. System default
- """)
-
- preferred_language = Attribute(
- """The preferred language for interacting with a mailing list.
-
- Unlike going through the preferences, this attribute return the
- preference value based on the following lookup order:
-
- 1. The member
- 2. The address
- 3. The user
- 4. System default
- """)
-
- receive_list_copy = Attribute(
- """Should an explicit recipient receive a list copy?
-
- Unlike going through the preferences, this attribute return the
- preference value based on the following lookup order:
-
- 1. The member
- 2. The address
- 3. The user
- 4. System default
- """)
-
- receive_own_postings = Attribute(
- """Should the poster get a list copy of their own messages?
-
- Unlike going through the preferences, this attribute return the
- preference value based on the following lookup order:
-
- 1. The member
- 2. The address
- 3. The user
- 4. System default
- """)
-
- delivery_mode = Attribute(
- """The preferred delivery mode.
-
- Unlike going through the preferences, this attribute return the
- preference value based on the following lookup order:
-
- 1. The member
- 2. The address
- 3. The user
- 4. System default
- """)
-
- delivery_status = Attribute(
- """The delivery status.
-
- Unlike going through the preferences, this attribute return the
- preference value based on the following lookup order:
-
- 1. The member
- 2. The address
- 3. The user
- 4. System default
-
- XXX I'm not sure this is the right place to put this.""")
-
- options_url = Attribute(
- """Return the url for the given member's option page.
-
- XXX This needs a serious re-think in the face of the unified user
- database, since a member's options aren't tied to any specific mailing
- list. So in what part of the web-space does the user's options live?
- """)