diff options
| author | Barry Warsaw | 2009-08-21 16:11:50 -0400 |
|---|---|---|
| committer | Barry Warsaw | 2009-08-21 16:11:50 -0400 |
| commit | da566eb047608ed2e65c71dd25979f01c825c843 (patch) | |
| tree | e68dc2015f4bb933bcc32cbe0b9b44c66544f3de /src/mailman/database/listmanager.py | |
| parent | e0693ed8106f80515f3ffddd92eb1ea9b77e38d3 (diff) | |
| download | mailman-da566eb047608ed2e65c71dd25979f01c825c843.tar.gz mailman-da566eb047608ed2e65c71dd25979f01c825c843.tar.zst mailman-da566eb047608ed2e65c71dd25979f01c825c843.zip | |
* Updated NEWS.txt for 3.0a3.
* Use the IListManager() adapter instead of hanging the list manager off of
config.db. This makes the code somewhat cleaner.
Diffstat (limited to 'src/mailman/database/listmanager.py')
| -rw-r--r-- | src/mailman/database/listmanager.py | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/src/mailman/database/listmanager.py b/src/mailman/database/listmanager.py index f96e44d75..af581cc6e 100644 --- a/src/mailman/database/listmanager.py +++ b/src/mailman/database/listmanager.py @@ -29,7 +29,6 @@ import datetime from zope.interface import implements -from mailman.config import config from mailman.database.mailinglist import MailingList from mailman.interfaces.listmanager import IListManager, ListAlreadyExistsError from mailman.interfaces.rest import IResolvePathNames @@ -41,11 +40,20 @@ class ListManager(object): implements(IListManager, IResolvePathNames) + def __init__(self, config): + """Create a list manager. + + :param config: The configuration object. + :type config: `IConfiguration` + """ + self.config = config + self.store = config.db.store + # pylint: disable-msg=R0201 def create(self, fqdn_listname): """See `IListManager`.""" listname, hostname = fqdn_listname.split('@', 1) - mlist = config.db.store.find( + mlist = self.store.find( MailingList, MailingList.list_name == listname, MailingList.host_name == hostname).one() @@ -53,13 +61,13 @@ class ListManager(object): raise ListAlreadyExistsError(fqdn_listname) mlist = MailingList(fqdn_listname) mlist.created_at = datetime.datetime.now() - config.db.store.add(mlist) + self.store.add(mlist) return mlist def get(self, fqdn_listname): """See `IListManager`.""" listname, hostname = fqdn_listname.split('@', 1) - mlist = config.db.store.find(MailingList, + mlist = self.store.find(MailingList, list_name=listname, host_name=hostname).one() if mlist is not None: @@ -69,7 +77,7 @@ class ListManager(object): def delete(self, mlist): """See `IListManager`.""" - config.db.store.remove(mlist) + self.store.remove(mlist) @property def mailing_lists(self): @@ -80,7 +88,7 @@ class ListManager(object): @property def names(self): """See `IListManager`.""" - for mlist in config.db.store.find(MailingList): + for mlist in self.store.find(MailingList): yield '{0}@{1}'.format(mlist.list_name, mlist.host_name) def get_mailing_lists(self): |
