Exemple #1
0
    def read_target_filter(self):
        const2str = {}
        for c in dir(self.const):
            tmp = getattr(self.const, c)
            if isinstance(tmp, Email._EmailTargetFilterCode):
                const2str[int(tmp)] = str(tmp)

        mail_target_filter = Email.EmailTargetFilter(self._db)
        for row in mail_target_filter.list_email_target_filter():
            t_id = int(row['target_id'])
            f_id = int(row['filter'])
            self.targ2filter[t_id].append(const2str[f_id])
Exemple #2
0
 def _UiO_default_filter_settings(self, email_target):
     t_id = email_target.entity_id
     tt_str = str(Email._EmailTargetCode(email_target.email_target_type))
     # Set default filters if none found on this target
     etf = Email.EmailTargetFilter(self._db)
     if tt_str in cereconf.EMAIL_DEFAULT_FILTERS:
         for f in cereconf.EMAIL_DEFAULT_FILTERS[tt_str]:
             f_id = int(EmailConstants._EmailTargetFilterCode(f))
             try:
                 etf.clear()
                 etf.find(t_id, f_id)
             except Errors.NotFoundError:
                 etf.clear()
                 etf.populate(f_id, parent=email_target)
                 etf.write_db()
Exemple #3
0
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])

for e_id in existing_greylist_target_ids: