summaryrefslogtreecommitdiff
path: root/src/mailman/rest/adapters.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/mailman/rest/adapters.py')
-rw-r--r--src/mailman/rest/adapters.py41
1 files changed, 8 insertions, 33 deletions
diff --git a/src/mailman/rest/adapters.py b/src/mailman/rest/adapters.py
index 585918e6b..2ae5d497e 100644
--- a/src/mailman/rest/adapters.py
+++ b/src/mailman/rest/adapters.py
@@ -29,56 +29,27 @@ from operator import attrgetter
from zope.component import getUtility
from zope.interface import implements
-from zope.publisher.interfaces import NotFound
from mailman.app.membership import add_member, delete_member
from mailman.core.constants import system_preferences
from mailman.interfaces.address import InvalidEmailAddressError
-from mailman.interfaces.domain import IDomainCollection, IDomainManager
from mailman.interfaces.listmanager import IListManager, NoSuchListError
-from mailman.interfaces.member import DeliveryMode, NotAMemberError
+from mailman.interfaces.member import DeliveryMode
from mailman.interfaces.membership import ISubscriptionService
-from mailman.interfaces.rest import APIValueError, IResolvePathNames
-
-
-
-class DomainCollection:
- """Sets of known domains."""
-
- implements(IDomainCollection, IResolvePathNames)
-
- __name__ = 'domains'
-
- def get_domains(self):
- """See `IDomainCollection`."""
- # lazr.restful requires the return value to be a concrete list.
- return sorted(getUtility(IDomainManager), key=attrgetter('email_host'))
-
- def get(self, name):
- """See `IResolvePathNames`."""
- domain = getUtility(IDomainManager).get(name)
- if domain is None:
- raise NotFound(self, name)
- return domain
-
- def new(self, email_host, description=None, base_url=None,
- contact_address=None):
- """See `IDomainCollection`."""
- value = getUtility(IDomainManager).add(
- email_host, description, base_url, contact_address)
- return value
+from mailman.interfaces.rest import APIValueError
class SubscriptionService:
"""Subscription services for the REST API."""
- implements(ISubscriptionService, IResolvePathNames)
+ implements(ISubscriptionService)
__name__ = 'members'
def get_members(self):
"""See `ISubscriptionService`."""
+ # XXX 2010-02-24 barry Clean this up.
# lazr.restful requires the return value to be a concrete list.
members = []
address_of_member = attrgetter('address.address')
@@ -96,6 +67,10 @@ class SubscriptionService:
key=address_of_member))
return members
+ def __iter__(self):
+ for member in self.get_members():
+ yield member
+
def join(self, fqdn_listname, address,
real_name= None, delivery_mode=None):
"""See `ISubscriptionService`."""