diff options
Diffstat (limited to 'src/mailman/database')
| -rw-r--r-- | src/mailman/database/__init__.py | 2 | ||||
| -rw-r--r-- | src/mailman/database/listmanager.py | 20 |
2 files changed, 14 insertions, 8 deletions
diff --git a/src/mailman/database/__init__.py b/src/mailman/database/__init__.py index 5943df660..dbceaee56 100644 --- a/src/mailman/database/__init__.py +++ b/src/mailman/database/__init__.py @@ -36,7 +36,6 @@ from zope.interface import implements import mailman.version from mailman.config import config -from mailman.database.listmanager import ListManager from mailman.database.messagestore import MessageStore from mailman.database.pending import Pendings from mailman.database.requests import Requests @@ -69,7 +68,6 @@ class StockDatabase: # the database at the same time. with Lock(os.path.join(config.LOCK_DIR, 'dbcreate.lck')): self._create(debug) - self.list_manager = ListManager() self.user_manager = UserManager() self.message_store = MessageStore() self.pendings = Pendings() 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): |
