summaryrefslogtreecommitdiff
path: root/Mailman/interfaces/rosterset.py
diff options
context:
space:
mode:
authorBarry Warsaw2007-06-18 10:50:23 -0400
committerBarry Warsaw2007-06-18 10:50:23 -0400
commit511a33778c4195c4abca7c58aa6917e6a77059b6 (patch)
tree5bffc7a5793a8247310294ac86931741e73b1fc5 /Mailman/interfaces/rosterset.py
parentf0e3b3934d5d458cadd814eeae07277b58650180 (diff)
downloadmailman-511a33778c4195c4abca7c58aa6917e6a77059b6.tar.gz
mailman-511a33778c4195c4abca7c58aa6917e6a77059b6.tar.zst
mailman-511a33778c4195c4abca7c58aa6917e6a77059b6.zip
Remove both the model and interface for RosterSets. These are no longer used
or necessary in the current data model. Convert the test_handlers.py Python test to an acknowledge.txt doctest, and make the Acknowledge.py handler work with the new data model. There are a few XXX comments left in here due to the fact that the web stuff is a total hack in the current branch currently. Added IMailingListWeb methods and properties to the MailingList model class: web_host and script_url(). Work out how IMembers will expose the lookup-order based preferences. By getting the attribute IMember.preferences you can see exactly the preferences overridden by this member. To use the lookup order, use IMember.delivery_mode, IMember.acknowledge_posts, etc. IOW, the IMember interface now provides the properties directly and access through this mechanism supports lookup order with definitive preference values. Also added IMember.unsubscribe() which does the obvious, and IMember.options_url() which is a total hack for providing a url (but not the ultimately right one) for the user's option page. Refactor the model's roster classes. Also added IRoster.get_member() method with efficient queries to return the right results. Make AdministratorRoster.members more efficient due to a better query. Update the membership.txt doctest to eliminate a chance ordering effect, and also to test finding members with .get_member(). The clean up section uses the new .unsubscribe() method.
Diffstat (limited to 'Mailman/interfaces/rosterset.py')
-rw-r--r--Mailman/interfaces/rosterset.py47
1 files changed, 0 insertions, 47 deletions
diff --git a/Mailman/interfaces/rosterset.py b/Mailman/interfaces/rosterset.py
deleted file mode 100644
index 12f28bffa..000000000
--- a/Mailman/interfaces/rosterset.py
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright (C) 2007 by the Free Software Foundation, Inc.
-#
-# This program 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 2
-# of the License, or (at your option) any later version.
-#
-# This program 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 this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-# USA.
-
-"""Interface for a collection of rosters."""
-
-from zope.interface import Interface, Attribute
-
-
-
-class IRosterSet(Interface):
- """A collection of IRosters."""
-
- serial = Attribute(
- """The unique integer serial number for this roster set.
-
- This is necessary to enforce the separation between the list storage
- and the user/roster storage. You should always reference a roster set
- indirectly through its serial number.""")
-
- rosters = Attribute(
- """An iterator over all the IRosters in this collection.""")
-
- def add(roster):
- """Add the IRoster to this collection.
-
- Does nothing if the roster is already a member of this collection.
- """
-
- def delete(roster):
- """Delete the IRoster from this collection.
-
- Does nothing if the roster is not a member of this collection.
- """