diff options
| author | Amit Tripathi | 2016-09-25 22:37:44 +0530 |
|---|---|---|
| committer | Barry Warsaw | 2016-10-25 20:39:12 -0400 |
| commit | 1eec4bf88bb9bb1e6d393b5e80a58a929e6439b4 (patch) | |
| tree | bdcf5586abe2ca2cc9925c4809aa68cbe37f5769 /src | |
| parent | 66eaf22e4af9877a83c32ca96fa4756827a62b80 (diff) | |
| download | mailman-1eec4bf88bb9bb1e6d393b5e80a58a929e6439b4.tar.gz mailman-1eec4bf88bb9bb1e6d393b5e80a58a929e6439b4.tar.zst mailman-1eec4bf88bb9bb1e6d393b5e80a58a929e6439b4.zip | |
Diffstat (limited to 'src')
| -rw-r--r-- | src/mailman/interfaces/bans.py | 7 | ||||
| -rw-r--r-- | src/mailman/model/bans.py | 7 | ||||
| -rw-r--r-- | src/mailman/rest/bans.py | 2 |
3 files changed, 15 insertions, 1 deletions
diff --git a/src/mailman/interfaces/bans.py b/src/mailman/interfaces/bans.py index 2e320965a..3401f286e 100644 --- a/src/mailman/interfaces/bans.py +++ b/src/mailman/interfaces/bans.py @@ -93,6 +93,13 @@ class IBanManager(Interface): :rtype: bool """ + def find(): + """Return the sequence of baned emails + + :return: The list of all banned addresses. + :rtype: list of `IBan` + """ + def __iter__(): """Iterate over all banned addresses. diff --git a/src/mailman/model/bans.py b/src/mailman/model/bans.py index e2b6490eb..5b86c93ec 100644 --- a/src/mailman/model/bans.py +++ b/src/mailman/model/bans.py @@ -24,6 +24,7 @@ from mailman.database.model import Model from mailman.database.transaction import dbconnection from mailman.database.types import SAUnicode from mailman.interfaces.bans import IBan, IBanManager +from mailman.utilities.queries import QuerySequence from sqlalchemy import Column, Integer from zope.interface import implementer @@ -110,6 +111,12 @@ class BanManager: return False @dbconnection + def find(self, store): + """See `IBanManager`.""" + query = store.query(Ban).filter_by(list_id=self._list_id) + return QuerySequence(query) + + @dbconnection def __iter__(self, store): """See `IBanManager`.""" yield from store.query(Ban).filter_by(list_id=self._list_id) diff --git a/src/mailman/rest/bans.py b/src/mailman/rest/bans.py index ccd88d9b4..5cb9d51d5 100644 --- a/src/mailman/rest/bans.py +++ b/src/mailman/rest/bans.py @@ -86,7 +86,7 @@ class BannedEmails(_BannedBase, CollectionMixin): def _get_collection(self, request): """See `CollectionMixin`.""" - return list(self.ban_manager) + return self.ban_manager.find() def on_get(self, request, response): """/bans""" |
