Паксоблог

02 серпня 2006

Мои скрипты: mailman_debounce.py

Из предыдущего поста можно выявить, что 1084(35%) подписчиков не получают рассылки, ситуацию исправит следующий сценарий:

#!/usr/bin/env python
"""mailman tools: Unlocks ALL bounced users"""
#mailman_debounce.py
#dron@amerigo 200608021443
#rev. 0.2

import sys
MM_HOME = "/usr/local/mailman"
sys.path.append(MM_HOME + "/scripts") #paths.py
import paths

from Mailman import MailList
from Mailman import MemberAdaptor

ml_name = 'spo' #change or sys.argv[1]

ml = MailList.MailList(name=ml_name, lock=1)
lockedlm = [m for m in ml.members.keys() if ml.getDeliveryStatus(m) == MemberAdaptor.BYBOUNCE]

print "Bounced users found: %d" % len(lockedlm)
for lm in lockedlm:
ml.setDeliveryStatus(lm,MemberAdaptor.ENABLED)

ml.Save() #don't forget
ml.Unlock()

lockedlm = [m for m in ml.members.keys() if ml.getDeliveryStatus(m) == MemberAdaptor.BYBOUNCE]

print "Bounced users found: %d, total: %d, disabled: %d" % (len(lockedlm), len(ml.members.keys()),
len
([m for m in ml.members.keys() if ml.getDeliveryStatus(m) != MemberAdaptor.ENABLED]))

Результат исполнения:

$ chmod +x mailman_debounce.py
$ ./mailman_debounce.py
Bounced users found: 1084
Bounced users found: 0, total: 3090, disabled: 0


Technorati Tags: , ,

Links to this post:

Створити посилання

0 Комментарии:

Дописати коментар

<< Home