Ejemplo n.º 1
0
 def read_spam(self):
     mail_spam = Email.EmailSpamFilter(self._db)
     for row in mail_spam.list_email_spam_filters_ext():
         self.targ2spam[int(row['target_id'])] = [
             row['level'],
             self.spam_act2dig.get(row['code_str'], '0')
         ]
Ejemplo n.º 2
0
 def _UiO_default_spam_settings(self, email_target):
     t_id = email_target.entity_id
     tt_str = str(Email._EmailTargetCode(email_target.email_target_type))
     # Set default spam settings if none found on this target
     esf = Email.EmailSpamFilter(self._db)
     if tt_str in cereconf.EMAIL_DEFAULT_SPAM_SETTINGS:
         if not len(cereconf.EMAIL_DEFAULT_SPAM_SETTINGS[tt_str]) == 2:
             raise Errors.CerebrumError(
                 "Error in cereconf.EMAIL_DEFAULT_SPAM_SETTINGS. "
                 "Expected 'key': ('val', 'val')")
         l, a = cereconf.EMAIL_DEFAULT_SPAM_SETTINGS[tt_str]
         lvl = int(Email._EmailSpamLevelCode(l))
         act = int(Email._EmailSpamActionCode(a))
         try:
             esf.find(t_id)
         except Errors.NotFoundError:
             esf.clear()
             esf.populate(lvl, act, parent=email_target)
             esf.write_db()
Ejemplo n.º 3
0
import cerebrum_path
import cereconf

from Cerebrum import Errors
from Cerebrum.Utils import Factory
from Cerebrum.modules import Email

db = Factory.get('Database')()
db.cl_init(change_program="migrate")
co = Factory.get('Constants')(db)

all_spam_setting = {}
existing_greylist_target_ids = []

et = Email.EmailTarget(db)
esf = Email.EmailSpamFilter(db)
etf = Email.EmailTargetFilter(db)

et.clear()
esf.clear()

#
# we need to move all registered spam_filter where
# action == greylist to the new email_target_filter table
#
# find all email_spam_filter entries where action == greylist

for a in esf.list_email_spam_filters_ext():
    if 'greylist' in a:
        existing_greylist_target_ids.append(a[0])