Module exchangelib.indexed_properties

Classes

class EmailAddress (**kwargs)
Expand source code
class EmailAddress(SingleFieldIndexedElement):
    """MSDN: https://docs.microsoft.com/en-us/exchange/client-developer/web-service-reference/entry-emailaddress"""

    ELEMENT_NAME = "Entry"
    LABEL_CHOICES = ("EmailAddress1", "EmailAddress2", "EmailAddress3")

    label = LabelField(field_uri="Key", choices={Choice(c) for c in LABEL_CHOICES}, default=LABEL_CHOICES[0])
    email = EmailSubField(is_required=True)

Ancestors

Class variables

var ELEMENT_NAME
var FIELDS
var LABEL_CHOICES

Instance variables

var email
var label

Inherited members

class ImAddress (**kwargs)
Expand source code
class ImAddress(SingleFieldIndexedElement):
    """MSDN: https://docs.microsoft.com/en-us/exchange/client-developer/web-service-reference/entry-imaddress"""

    ELEMENT_NAME = "Entry"
    LABEL_CHOICES = ("ImAddress1", "ImAddress2", "ImAddress3")

    label = LabelField(field_uri="Key", choices={Choice(c) for c in LABEL_CHOICES}, default=LABEL_CHOICES[0])
    im_address = SubField(is_required=True)

Ancestors

Class variables

var ELEMENT_NAME
var FIELDS
var LABEL_CHOICES

Instance variables

var im_address
var label

Inherited members

class IndexedElement (**kwargs)
Expand source code
class IndexedElement(EWSElement, metaclass=EWSMeta):
    """Base class for all classes that implement an indexed element."""

    LABEL_CHOICES = ()

Base class for all classes that implement an indexed element.

Ancestors

Subclasses

Class variables

var LABEL_CHOICES

Inherited members

class MultiFieldIndexedElement (**kwargs)
Expand source code
class MultiFieldIndexedElement(IndexedElement, metaclass=EWSMeta):
    """Base class for all classes that implement an indexed element with multiple fields."""

Base class for all classes that implement an indexed element with multiple fields.

Ancestors

Subclasses

Inherited members

class PhoneNumber (**kwargs)
Expand source code
class PhoneNumber(SingleFieldIndexedElement):
    """MSDN: https://docs.microsoft.com/en-us/exchange/client-developer/web-service-reference/entry-phonenumber"""

    ELEMENT_NAME = "Entry"
    LABEL_CHOICES = (
        "AssistantPhone",
        "BusinessFax",
        "BusinessPhone",
        "BusinessPhone2",
        "Callback",
        "CarPhone",
        "CompanyMainPhone",
        "HomeFax",
        "HomePhone",
        "HomePhone2",
        "Isdn",
        "MobilePhone",
        "OtherFax",
        "OtherTelephone",
        "Pager",
        "PrimaryPhone",
        "RadioPhone",
        "Telex",
        "TtyTddPhone",
    )

    label = LabelField(field_uri="Key", choices={Choice(c) for c in LABEL_CHOICES}, default="PrimaryPhone")
    phone_number = SubField(is_required=True)

Ancestors

Class variables

var ELEMENT_NAME
var FIELDS
var LABEL_CHOICES

Instance variables

var label
var phone_number

Inherited members

class PhysicalAddress (**kwargs)
Expand source code
class PhysicalAddress(MultiFieldIndexedElement):
    """MSDN: https://docs.microsoft.com/en-us/exchange/client-developer/web-service-reference/entry-physicaladdress"""

    ELEMENT_NAME = "Entry"
    LABEL_CHOICES = ("Business", "Home", "Other")

    label = LabelField(field_uri="Key", choices={Choice(c) for c in LABEL_CHOICES}, default=LABEL_CHOICES[0])
    street = NamedSubField(field_uri="Street")  # Street, house number, etc.
    city = NamedSubField(field_uri="City")
    state = NamedSubField(field_uri="State")
    country = NamedSubField(field_uri="CountryOrRegion")
    zipcode = NamedSubField(field_uri="PostalCode")

    def clean(self, version=None):
        if isinstance(self.zipcode, int):
            self.zipcode = str(self.zipcode)
        super().clean(version=version)

Ancestors

Class variables

var ELEMENT_NAME
var FIELDS
var LABEL_CHOICES

Instance variables

var city
var country
var label
var state
var street
var zipcode

Methods

def clean(self, version=None)
Expand source code
def clean(self, version=None):
    if isinstance(self.zipcode, int):
        self.zipcode = str(self.zipcode)
    super().clean(version=version)

Inherited members

class SingleFieldIndexedElement (**kwargs)
Expand source code
class SingleFieldIndexedElement(IndexedElement, metaclass=EWSMeta):
    """Base class for all classes that implement an indexed element with a single field."""

    @classmethod
    def value_field(cls, version):
        fields = cls.supported_fields(version=version)
        if len(fields) != 1:
            raise ValueError(f"Class {cls} must have only one value field (found {tuple(f.name for f in fields)})")
        return fields[0]

Base class for all classes that implement an indexed element with a single field.

Ancestors

Subclasses

Static methods

def value_field(version)

Inherited members