diff options
| author | Barry Warsaw | 2007-11-07 06:55:13 -0500 |
|---|---|---|
| committer | Barry Warsaw | 2007-11-07 06:55:13 -0500 |
| commit | c8940f127f99071cb4f256007ece39e6a14a5302 (patch) | |
| tree | 41fba10cdfe345d0af3d318f7fdb9d1e76ef7e0e /Mailman/database/model/roster.py | |
| parent | d6377c92857c513faf484ef9a91a6b00da789d4b (diff) | |
| download | mailman-c8940f127f99071cb4f256007ece39e6a14a5302.tar.gz mailman-c8940f127f99071cb4f256007ece39e6a14a5302.tar.zst mailman-c8940f127f99071cb4f256007ece39e6a14a5302.zip | |
Fix two doctests: addresses.txt and mlist-addresses.txt
Remove flush() altogether. Yee-haw! Rework queries to be Stormy. Fix
doctests to be Unicode-ish.
Diffstat (limited to 'Mailman/database/model/roster.py')
| -rw-r--r-- | Mailman/database/model/roster.py | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/Mailman/database/model/roster.py b/Mailman/database/model/roster.py index ab228d762..0c8c3bd87 100644 --- a/Mailman/database/model/roster.py +++ b/Mailman/database/model/roster.py @@ -22,6 +22,7 @@ the ones that fit a particular role. These are used as the member, owner, moderator, and administrator roster filters. """ +from storm.locals import * from zope.interface import implements from Mailman.configuration import config @@ -49,7 +50,8 @@ class AbstractRoster(object): @property def members(self): - for member in Member.query.filter_by( + for member in config.db.store.find( + Member, mailing_list=self._mlist.fqdn_listname, role=self.role): yield member @@ -122,10 +124,11 @@ class AdministratorRoster(AbstractRoster): def members(self): # Administrators are defined as the union of the owners and the # moderators. - members = Member.query.filter( - and_(Member.c.mailing_list == self._mlist.fqdn_listname, - or_(Member.c.role == MemberRole.owner, - Member.c.role == MemberRole.moderator))) + members = config.db.store.find( + Member, + Member.mailing_list == self._mlist.fqdn_listname, + Or(Member.role == MemberRole.owner, + Member.role == MemberRole.moderator)) for member in members: yield member @@ -156,7 +159,8 @@ class RegularMemberRoster(AbstractRoster): # Query for all the Members which have a role of MemberRole.member and # are subscribed to this mailing list. Then return only those members # that have a regular delivery mode. - for member in Member.query.filter_by( + for member in config.db.store.find( + Member, mailing_list=self._mlist.fqdn_listname, role=MemberRole.member): if member.delivery_mode == DeliveryMode.regular: @@ -182,7 +186,8 @@ class DigestMemberRoster(AbstractRoster): # Query for all the Members which have a role of MemberRole.member and # are subscribed to this mailing list. Then return only those members # that have one of the digest delivery modes. - for member in Member.query.filter_by( + for member in config.db.store.find( + Member, mailing_list=self._mlist.fqdn_listname, role=MemberRole.member): if member.delivery_mode in _digest_modes: |
