diff options
| author | Abhilash Raj | 2014-09-12 18:38:19 +0530 |
|---|---|---|
| committer | Abhilash Raj | 2014-09-12 18:38:19 +0530 |
| commit | 4dc18daeaeaf65be50397293b54a9874bfaca228 (patch) | |
| tree | e30d97167205938b32ae407a5f5653f298d0309d /src/mailman/model/bans.py | |
| parent | db1f5638fe1ab83406a305c3f108c4a1bcfd9cd7 (diff) | |
| download | mailman-4dc18daeaeaf65be50397293b54a9874bfaca228.tar.gz mailman-4dc18daeaeaf65be50397293b54a9874bfaca228.tar.zst mailman-4dc18daeaeaf65be50397293b54a9874bfaca228.zip | |
Diffstat (limited to 'src/mailman/model/bans.py')
| -rw-r--r-- | src/mailman/model/bans.py | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/src/mailman/model/bans.py b/src/mailman/model/bans.py index 57dbdbbd5..bf02f3127 100644 --- a/src/mailman/model/bans.py +++ b/src/mailman/model/bans.py @@ -64,7 +64,7 @@ class BanManager: @dbconnection def ban(self, store, email): """See `IBanManager`.""" - bans = store.find(Ban, email=email, list_id=self._list_id) + bans = store.query(Ban).filter_by(email=email, list_id=self._list_id) if bans.count() == 0: ban = Ban(email, self._list_id) store.add(ban) @@ -72,7 +72,8 @@ class BanManager: @dbconnection def unban(self, store, email): """See `IBanManager`.""" - ban = store.find(Ban, email=email, list_id=self._list_id).one() + ban = store.query(Ban).filter_by(email=email, + list_id=self._list_id).first() if ban is not None: store.remove(ban) @@ -83,32 +84,32 @@ class BanManager: if list_id is None: # The client is asking for global bans. Look up bans on the # specific email address first. - bans = store.find(Ban, email=email, list_id=None) + bans = store.query(Ban).filter_by(email=email, list_id=None) if bans.count() > 0: return True # And now look for global pattern bans. - bans = store.find(Ban, list_id=None) + bans = store.query(Ban).filter_by(list_id=None) for ban in bans: if (ban.email.startswith('^') and re.match(ban.email, email, re.IGNORECASE) is not None): return True else: # This is a list-specific ban. - bans = store.find(Ban, email=email, list_id=list_id) + bans = store.query(Ban).filter_by(email=email, list_id=list_id) if bans.count() > 0: return True # Try global bans next. - bans = store.find(Ban, email=email, list_id=None) + bans = store.query(Ban).filter_by(email=email, list_id=None) if bans.count() > 0: return True # Now try specific mailing list bans, but with a pattern. - bans = store.find(Ban, list_id=list_id) + bans = store.query(Ban).filteR_by(list_id=list_id) for ban in bans: if (ban.email.startswith('^') and re.match(ban.email, email, re.IGNORECASE) is not None): return True # And now try global pattern bans. - bans = store.find(Ban, list_id=None) + bans = store.query(Ban).filter_by(list_id=None) for ban in bans: if (ban.email.startswith('^') and re.match(ban.email, email, re.IGNORECASE) is not None): |
