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

Instance variables

var email

The type of the None singleton.

var label

The type of the None singleton.

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

Instance variables

var im_address

The type of the None singleton.

var label

The type of the None singleton.

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

The type of the None singleton.

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

Instance variables

var label

The type of the None singleton.

var phone_number

The type of the None singleton.

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

Instance variables

var city

The type of the None singleton.

var country

The type of the None singleton.

var label

The type of the None singleton.

var state

The type of the None singleton.

var street

The type of the None singleton.

var zipcode

The type of the None singleton.

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