summaryrefslogtreecommitdiff
path: root/Mailman/database/listmanager.py
diff options
context:
space:
mode:
Diffstat (limited to 'Mailman/database/listmanager.py')
-rw-r--r--Mailman/database/listmanager.py19
1 files changed, 12 insertions, 7 deletions
diff --git a/Mailman/database/listmanager.py b/Mailman/database/listmanager.py
index a79cbf565..7b02767c7 100644
--- a/Mailman/database/listmanager.py
+++ b/Mailman/database/listmanager.py
@@ -25,30 +25,31 @@ from Mailman import Errors
from Mailman.Utils import split_listname, fqdn_listname
from Mailman.configuration import config
from Mailman.database.mailinglist import MailingList
-from Mailman.interfaces import IListManager
+from Mailman.interfaces import IListManager, ListAlreadyExistsError
class ListManager(object):
+ """An implementation of the `IListManager` interface."""
+
implements(IListManager)
def create(self, fqdn_listname):
+ """See `IListManager`."""
listname, hostname = split_listname(fqdn_listname)
mlist = config.db.store.find(
MailingList,
MailingList.list_name == listname,
MailingList.host_name == hostname).one()
if mlist:
- raise Errors.MMListAlreadyExistsError(fqdn_listname)
+ raise ListAlreadyExistsError(fqdn_listname)
mlist = MailingList(fqdn_listname)
mlist.created_at = datetime.datetime.now()
config.db.store.add(mlist)
return mlist
- def delete(self, mlist):
- config.db.store.remove(mlist)
-
def get(self, fqdn_listname):
+ """See `IListManager`."""
listname, hostname = split_listname(fqdn_listname)
mlist = config.db.store.find(MailingList,
list_name=listname,
@@ -58,14 +59,18 @@ class ListManager(object):
mlist._restore()
return mlist
+ def delete(self, mlist):
+ """See `IListManager`."""
+ config.db.store.remove(mlist)
+
@property
def mailing_lists(self):
- # Don't forget, the MailingList objects that this class manages must
- # be wrapped in a MailList object as expected by this interface.
+ """See `IListManager`."""
for fqdn_listname in self.names:
yield self.get(fqdn_listname)
@property
def names(self):
+ """See `IListManager`."""
for mlist in config.db.store.find(MailingList):
yield fqdn_listname(mlist.list_name, mlist.host_name)