Changeset View
Changeset View
Standalone View
Standalone View
pykolab/xml/contact.py
from six import string_types | |||||
import kolabformat | import kolabformat | ||||
import datetime | import datetime | ||||
import pytz | import pytz | ||||
import base64 | import base64 | ||||
from pykolab.xml import utils as xmlutils | from pykolab.xml import utils as xmlutils | ||||
from pykolab.xml.utils import ustr | from pykolab.xml.utils import ustr | ||||
▲ Show 20 Lines • Show All 119 Lines • ▼ Show 20 Lines | class Contact(kolabformat.Contact): | ||||
def get_email(self, preferred=True): | def get_email(self, preferred=True): | ||||
if preferred: | if preferred: | ||||
return self.emailAddresses()[self.emailAddressPreferredIndex()] | return self.emailAddresses()[self.emailAddressPreferredIndex()] | ||||
else: | else: | ||||
return [x for x in self.emailAddresses()] | return [x for x in self.emailAddresses()] | ||||
def set_email(self, email, preferred_index=0): | def set_email(self, email, preferred_index=0): | ||||
if isinstance(email, basestring): | if isinstance(email, string_types): | ||||
self.setEmailAddresses([email], preferred_index) | self.setEmailAddresses([email], preferred_index) | ||||
else: | else: | ||||
self.setEmailAddresses(email, preferred_index) | self.setEmailAddresses(email, preferred_index) | ||||
def add_email(self, email): | def add_email(self, email): | ||||
if isinstance(email, basestring): | if isinstance(email, string_types): | ||||
self.add_emails([email]) | self.add_emails([email]) | ||||
elif isinstance(email, list): | elif isinstance(email, list): | ||||
self.add_emails(email) | self.add_emails(email) | ||||
def add_emails(self, emails): | def add_emails(self, emails): | ||||
preferred_email = self.get_email() | preferred_email = self.get_email() | ||||
emails = [x for x in set(self.get_email(preferred=False) + emails)] | emails = [x for x in set(self.get_email(preferred=False) + emails)] | ||||
preferred_email_index = emails.index(preferred_email) | preferred_email_index = emails.index(preferred_email) | ||||
▲ Show 20 Lines • Show All 186 Lines • Show Last 20 Lines |