Changeset View
Changeset View
Standalone View
Standalone View
pykolab/plugins/sievemgmt/__init__.py
Show First 20 Lines • Show All 41 Lines • ▼ Show 20 Lines | def add_options(self, *args, **kw): | ||||
pass | pass | ||||
def sieve_mgmt_refresh(self, *args, **kw): | def sieve_mgmt_refresh(self, *args, **kw): | ||||
""" | """ | ||||
The arguments passed to the 'sieve_mgmt_refresh' hook: | The arguments passed to the 'sieve_mgmt_refresh' hook: | ||||
user - the user identifier | user - the user identifier | ||||
""" | """ | ||||
if not len(kw.keys()) == 1 or not kw.has_key('user'): | if not len(kw) == 1 or 'user' not in kw: | ||||
log.error(_("Wrong number of arguments for sieve management plugin")) | log.error(_("Wrong number of arguments for sieve management plugin")) | ||||
return | return | ||||
else: | else: | ||||
address = kw['user'] | address = kw['user'] | ||||
auth = Auth() | auth = Auth() | ||||
auth.connect() | auth.connect() | ||||
▲ Show 20 Lines • Show All 73 Lines • ▼ Show 20 Lines | """ | ||||
vacation_active_attr = conf.get('sieve', 'vacation_active_attr') | vacation_active_attr = conf.get('sieve', 'vacation_active_attr') | ||||
vacation_text_attr = conf.get('sieve', 'vacation_text_attr') | vacation_text_attr = conf.get('sieve', 'vacation_text_attr') | ||||
vacation_uce_attr = conf.get('sieve', 'vacation_uce_attr') | vacation_uce_attr = conf.get('sieve', 'vacation_uce_attr') | ||||
vacation_noreact_domains_attr = conf.get('sieve', 'vacation_noreact_domains_attr') | vacation_noreact_domains_attr = conf.get('sieve', 'vacation_noreact_domains_attr') | ||||
vacation_react_domains_attr = conf.get('sieve', 'vacation_react_domains_attr') | vacation_react_domains_attr = conf.get('sieve', 'vacation_react_domains_attr') | ||||
if not vacation_text_attr == None: | if not vacation_text_attr == None: | ||||
if user.has_key(vacation_active_attr): | if vacation_active_attr in user: | ||||
vacation_active = utils.true_or_false(user[vacation_active_attr]) | vacation_active = utils.true_or_false(user[vacation_active_attr]) | ||||
else: | else: | ||||
vacation_active = False | vacation_active = False | ||||
if user.has_key(vacation_text_attr): | if vacation_text_attr in user: | ||||
vacation_text = user[vacation_text_attr] | vacation_text = user[vacation_text_attr] | ||||
else: | else: | ||||
vacation_active = False | vacation_active = False | ||||
if user.has_key(vacation_uce_attr): | if vacation_uce_attr in user: | ||||
vacation_uce = utils.true_or_false(user[vacation_uce_attr]) | vacation_uce = utils.true_or_false(user[vacation_uce_attr]) | ||||
else: | else: | ||||
vacation_uce = False | vacation_uce = False | ||||
if user.has_key(vacation_react_domains_attr): | if vacation_react_domains_attr in user: | ||||
if isinstance(user[vacation_react_domains_attr], list): | if isinstance(user[vacation_react_domains_attr], list): | ||||
vacation_react_domains = user[vacation_react_domains_attr] | vacation_react_domains = user[vacation_react_domains_attr] | ||||
else: | else: | ||||
vacation_react_domains = [ user[vacation_react_domains_attr] ] | vacation_react_domains = [ user[vacation_react_domains_attr] ] | ||||
else: | else: | ||||
if user.has_key(vacation_noreact_domains_attr): | if vacation_noreact_domains_attr in user: | ||||
if isinstance(user[vacation_noreact_domains_attr], list): | if isinstance(user[vacation_noreact_domains_attr], list): | ||||
vacation_noreact_domains = user[vacation_noreact_domains_attr] | vacation_noreact_domains = user[vacation_noreact_domains_attr] | ||||
else: | else: | ||||
vacation_noreact_domains = [ user[vacation_noreact_domains_attr] ] | vacation_noreact_domains = [ user[vacation_noreact_domains_attr] ] | ||||
else: | else: | ||||
vacation_noreact_domains = [] | vacation_noreact_domains = [] | ||||
# | # | ||||
# Delivery to Folder | # Delivery to Folder | ||||
# | # | ||||
dtf_active_attr = conf.get('sieve', 'deliver_to_folder_active') | dtf_active_attr = conf.get('sieve', 'deliver_to_folder_active') | ||||
if not dtf_active_attr == None: | if not dtf_active_attr == None: | ||||
if user.has_key(dtf_active_attr): | if dtf_active_attr in user: | ||||
dtf_active = utils.true_or_false(user[dtf_active_attr]) | dtf_active = utils.true_or_false(user[dtf_active_attr]) | ||||
else: | else: | ||||
dtf_active = False | dtf_active = False | ||||
else: | else: | ||||
# TODO: Not necessarily de-activated, the *Active attributes are | # TODO: Not necessarily de-activated, the *Active attributes are | ||||
# not supposed to charge this - check the deliver_to_folder_attr | # not supposed to charge this - check the deliver_to_folder_attr | ||||
# attribute value for a value. | # attribute value for a value. | ||||
dtf_active = False | dtf_active = False | ||||
if dtf_active: | if dtf_active: | ||||
dtf_folder_name_attr = conf.get('sieve', 'deliver_to_folder_attr') | dtf_folder_name_attr = conf.get('sieve', 'deliver_to_folder_attr') | ||||
if not dtf_folder_name_attr == None: | if not dtf_folder_name_attr == None: | ||||
if user.has_key(dtf_folder_name_attr): | if dtf_folder_name_attr in user: | ||||
dtf_folder = user[dtf_folder_name_attr] | dtf_folder = user[dtf_folder_name_attr] | ||||
else: | else: | ||||
log.warning(_("Delivery to folder active, but no folder name attribute available for user %r") % (user)) | log.warning(_("Delivery to folder active, but no folder name attribute available for user %r") % (user)) | ||||
dtf_active = False | dtf_active = False | ||||
else: | else: | ||||
log.error(_("Delivery to folder active, but no folder name attribute configured")) | log.error(_("Delivery to folder active, but no folder name attribute configured")) | ||||
dtf_active = False | dtf_active = False | ||||
Show All 15 Lines | """ | ||||
# | # | ||||
forward_active = None | forward_active = None | ||||
forward_addresses = [] | forward_addresses = [] | ||||
forward_keepcopy = None | forward_keepcopy = None | ||||
forward_uce = None | forward_uce = None | ||||
forward_active_attr = conf.get('sieve', 'forward_address_active') | forward_active_attr = conf.get('sieve', 'forward_address_active') | ||||
if not forward_active_attr == None: | if not forward_active_attr == None: | ||||
if user.has_key(forward_active_attr): | if forward_active_attr in user: | ||||
forward_active = utils.true_or_false(user[forward_active_attr]) | forward_active = utils.true_or_false(user[forward_active_attr]) | ||||
else: | else: | ||||
forward_active = False | forward_active = False | ||||
if not forward_active == False: | if not forward_active == False: | ||||
forward_address_attr = conf.get('sieve', 'forward_address_attr') | forward_address_attr = conf.get('sieve', 'forward_address_attr') | ||||
if user.has_key(forward_address_attr): | if forward_address_attr in user: | ||||
if isinstance(user[forward_address_attr], basestring): | if isinstance(user[forward_address_attr], basestring): | ||||
forward_addresses = [ user[forward_address_attr] ] | forward_addresses = [ user[forward_address_attr] ] | ||||
elif isinstance(user[forward_address_attr], str): | elif isinstance(user[forward_address_attr], str): | ||||
forward_addresses = [ user[forward_address_attr] ] | forward_addresses = [ user[forward_address_attr] ] | ||||
else: | else: | ||||
forward_addresses = user[forward_address_attr] | forward_addresses = user[forward_address_attr] | ||||
if len(forward_addresses) == 0: | if len(forward_addresses) == 0: | ||||
forward_active = False | forward_active = False | ||||
forward_keepcopy_attr = conf.get('sieve', 'forward_keepcopy_active') | forward_keepcopy_attr = conf.get('sieve', 'forward_keepcopy_active') | ||||
if not forward_keepcopy_attr == None: | if not forward_keepcopy_attr == None: | ||||
if user.has_key(forward_keepcopy_attr): | if forward_keepcopy_attr in user: | ||||
forward_keepcopy = utils.true_or_false(user[forward_keepcopy_attr]) | forward_keepcopy = utils.true_or_false(user[forward_keepcopy_attr]) | ||||
else: | else: | ||||
forward_keepcopy = False | forward_keepcopy = False | ||||
forward_uce_attr = conf.get('sieve', 'forward_uce_active') | forward_uce_attr = conf.get('sieve', 'forward_uce_active') | ||||
if not forward_uce_attr == None: | if not forward_uce_attr == None: | ||||
if user.has_key(forward_uce_attr): | if forward_uce_attr in user: | ||||
forward_uce = utils.true_or_false(user[forward_uce_attr]) | forward_uce = utils.true_or_false(user[forward_uce_attr]) | ||||
else: | else: | ||||
forward_uce = False | forward_uce = False | ||||
if vacation_active: | if vacation_active: | ||||
mgmt_required_extensions.append('vacation') | mgmt_required_extensions.append('vacation') | ||||
mgmt_required_extensions.append('envelope') | mgmt_required_extensions.append('envelope') | ||||
▲ Show 20 Lines • Show All 124 Lines • ▼ Show 20 Lines | |||||
# User | # User | ||||
# | # | ||||
require ["include"]; | require ["include"]; | ||||
""" | """ | ||||
for script in scripts: | for script in scripts: | ||||
if not script in [ "MASTER", "MANAGEMENT", "USER" ]: | if not script in [ "MASTER", "MANAGEMENT", "USER" ]: | ||||
log.debug(_("Including script %s in USER (for user %s)") % (script,address) ,level=8) | log.debug(_("Including script %s in USER (for user %s)") % (script,address) ,level=8) | ||||
Lint: PEP8 E203: whitespace before ',' | |||||
user_script = """%s | user_script = """%s | ||||
include :personal "%s"; | include :personal "%s"; | ||||
""" % (user_script, script) | """ % (user_script, script) | ||||
result = sieveclient.putscript("USER", user_script) | result = sieveclient.putscript("USER", user_script) | ||||
if not result: | if not result: | ||||
Show All 36 Lines |
whitespace before ','