diff options
Diffstat (limited to 'Mailman/Handlers/ToDigest.py')
| -rw-r--r-- | Mailman/Handlers/ToDigest.py | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/Mailman/Handlers/ToDigest.py b/Mailman/Handlers/ToDigest.py index 1c4588010..36772e229 100644 --- a/Mailman/Handlers/ToDigest.py +++ b/Mailman/Handlers/ToDigest.py @@ -134,17 +134,16 @@ def inject_digest(mlist, digestfile, topicsfile): def hates_mime_p(x, s=mlist, v=mm_cfg.DisableMime): return s.GetUserOption(x, v) # - # these people have switched their options from digest delivery to - # non-digest delivery. they need to get one last digest... - try: - final_digesters = mlist.one_last_digest.keys() - mlist.one_last_digest = {} - except AttributeError: - final_digesters = [] - # - # calculate various recipient lists - digestmembers = mlist.GetDigestMembers() + final_digesters - recipients = filter(delivery_enabled_p, digestmembers) + # These people have switched their options from digest delivery to + # non-digest delivery. they need to get one last digest, but be sure they + # haven't switched back to digest delivery in the meantime! + digestmembers = {} + if hasattr(mlist, 'one_last_digest'): + digestmembers.update(mlist.one_last_digest) + del mlist.one_last_digest + for addr in mlist.GetDigestMembers(): + digestmembers[addr] = addr + recipients = filter(delivery_enabled_p, digestmembers.keys()) mime_recips = filter(likes_mime_p, recipients) text_recips = filter(hates_mime_p, recipients) # |
