diff options
| author | Amit Tripathi | 2016-09-28 01:48:43 +0530 |
|---|---|---|
| committer | Barry Warsaw | 2016-10-25 20:39:12 -0400 |
| commit | 96f276472852d069828c5729f5a5a0d1a83d4b2d (patch) | |
| tree | 2ad094904fd4d5a027c670e141dd2b5ad3506143 /src | |
| parent | 1eec4bf88bb9bb1e6d393b5e80a58a929e6439b4 (diff) | |
| download | mailman-96f276472852d069828c5729f5a5a0d1a83d4b2d.tar.gz mailman-96f276472852d069828c5729f5a5a0d1a83d4b2d.tar.zst mailman-96f276472852d069828c5729f5a5a0d1a83d4b2d.zip | |
Diffstat (limited to 'src')
| -rw-r--r-- | src/mailman/interfaces/bans.py | 16 | ||||
| -rw-r--r-- | src/mailman/model/bans.py | 5 | ||||
| -rw-r--r-- | src/mailman/rest/bans.py | 2 |
3 files changed, 9 insertions, 14 deletions
diff --git a/src/mailman/interfaces/bans.py b/src/mailman/interfaces/bans.py index 3401f286e..72ee525d1 100644 --- a/src/mailman/interfaces/bans.py +++ b/src/mailman/interfaces/bans.py @@ -46,6 +46,9 @@ class IBanManager(Interface): to an `IBanManager`. To manage global bans, adapt ``None``. """ + bans = Attribute( + """A `QuerySequence` over all the banned emails""") + def ban(email): """Ban an email address from subscribing to a mailing list. @@ -93,16 +96,7 @@ 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. + """An iterator over all the banned email addresses. - :return: The list of all banned addresses. - :rtype: list of `IBan` - """ + :return: iterator over `IBan`""" diff --git a/src/mailman/model/bans.py b/src/mailman/model/bans.py index 5b86c93ec..c2d6256c2 100644 --- a/src/mailman/model/bans.py +++ b/src/mailman/model/bans.py @@ -110,8 +110,9 @@ class BanManager: return True return False + @property @dbconnection - def find(self, store): + def bans(self, store): """See `IBanManager`.""" query = store.query(Ban).filter_by(list_id=self._list_id) return QuerySequence(query) @@ -119,4 +120,4 @@ class BanManager: @dbconnection def __iter__(self, store): """See `IBanManager`.""" - yield from store.query(Ban).filter_by(list_id=self._list_id) + yield from self.bans diff --git a/src/mailman/rest/bans.py b/src/mailman/rest/bans.py index 5cb9d51d5..ce575885b 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 self.ban_manager.find() + return self.ban_manager.bans def on_get(self, request, response): """/bans""" |
