Changeset View
Changeset View
Standalone View
Standalone View
pykolab/cli/cmd_remove_mailaddress.py
Show First 20 Lines • Show All 68 Lines • ▼ Show 20 Lines | def execute(*args, **kw): | ||||
if isinstance(recipients, basestring): | if isinstance(recipients, basestring): | ||||
recipient = recipients | recipient = recipients | ||||
# Only a single recipient found, remove the address | # Only a single recipient found, remove the address | ||||
attributes = auth.get_entry_attributes(domain, recipient, mail_attributes) | attributes = auth.get_entry_attributes(domain, recipient, mail_attributes) | ||||
# See which attribute holds the value we're trying to remove | # See which attribute holds the value we're trying to remove | ||||
for attribute in attributes.keys(): | for attribute in attributes: | ||||
if isinstance(attributes[attribute], list): | if isinstance(attributes[attribute], list): | ||||
if email_address in attributes[attribute]: | if email_address in attributes[attribute]: | ||||
attributes[attribute].pop(attributes[attribute].index(email_address)) | attributes[attribute].pop(attributes[attribute].index(email_address)) | ||||
replace_attributes = { | replace_attributes = { | ||||
attribute: attributes[attribute] | attribute: attributes[attribute] | ||||
} | } | ||||
auth.set_entry_attributes(domain, recipient, replace_attributes) | auth.set_entry_attributes(domain, recipient, replace_attributes) | ||||
Show All 10 Lines |