diff options
| author | Barry Warsaw | 2008-02-19 21:22:20 -0500 |
|---|---|---|
| committer | Barry Warsaw | 2008-02-19 21:22:20 -0500 |
| commit | aab29f252ebefb1520714080a90bb42a25393f18 (patch) | |
| tree | a5df0c60d606bd3fbe1455d9a6c95be5dd55e6f6 /Mailman/database/listmanager.py | |
| parent | 2bd332002f241ab7ca77f935a73692f6cbf41fe5 (diff) | |
| download | mailman-aab29f252ebefb1520714080a90bb42a25393f18.tar.gz mailman-aab29f252ebefb1520714080a90bb42a25393f18.tar.zst mailman-aab29f252ebefb1520714080a90bb42a25393f18.zip | |
Diffstat (limited to 'Mailman/database/listmanager.py')
| -rw-r--r-- | Mailman/database/listmanager.py | 19 |
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) |
