aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cron/disabled14
1 files changed, 9 insertions, 5 deletions
diff --git a/cron/disabled b/cron/disabled
index 6624ff21..ac62582a 100644
--- a/cron/disabled
+++ b/cron/disabled
@@ -1,6 +1,6 @@
#! @PYTHON@
#
-# Copyright (C) 2001-2004 by the Free Software Foundation, Inc.
+# Copyright (C) 2001-2007 by the Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@@ -14,7 +14,8 @@
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+# USA.
"""Process disabled members, recommended once per day.
@@ -154,14 +155,17 @@ def main():
# disabled. This is a sweep through the membership catching
# situations where they've bounced a bunch, then the list admin
# lowered the threshold, but we haven't (yet) seen more bounces
- # from the member. Note: we won't worry about stale information
- # or anything else since the normal bounce processing code will
- # handle that.
+ # from the member.
disables = []
for member in mlist.getBouncingMembers():
if mlist.getDeliveryStatus(member) <> MemberAdaptor.ENABLED:
continue
info = mlist.getBounceInfo(member)
+ if (Utils.midnight(info.date) + mlist.bounce_info_stale_after
+ < Utils.midnight()):
+ # Bounce info is stale; reset it.
+ mlist.setBounceInfo(member, None)
+ continue
if info.score >= mlist.bounce_score_threshold:
disables.append((member, info))
if disables: