summaryrefslogtreecommitdiff
path: root/src/mailman/model/bans.py
diff options
context:
space:
mode:
authorAbhilash Raj2014-09-12 18:38:19 +0530
committerAbhilash Raj2014-09-12 18:38:19 +0530
commit4dc18daeaeaf65be50397293b54a9874bfaca228 (patch)
treee30d97167205938b32ae407a5f5653f298d0309d /src/mailman/model/bans.py
parentdb1f5638fe1ab83406a305c3f108c4a1bcfd9cd7 (diff)
downloadmailman-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.py17
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):