Exchange Web Services client library v1.6.0 Release Notes
-
Complete rewrite of
Folder.find_items()
. The oldstart
,end
,subject
andcategories
args are deprecated in favor of a Django QuerySet filter() syntax. The supported lookup types are__gt
,__lt
,__gte
,__lte
,__range
,__in
,__exact
,__iexact
,__contains
,__icontains
,__contains
,__icontains
,__startswith
,__istartswith
, plus an additional__not
which translates to!=
. Additionally, all fields on the item are now supported inFolder.find_items()
.WARNING: This change is backwards-incompatible! Old uses of
Folder.find_items()
like this:ids = account.calendar.find_items( start=tz.localize(EWSDateTime(year, month, day)), end=tz.localize(EWSDateTime(year, month, day + 1)), categories=['foo', 'bar'], )
must be rewritten like this:
ids = account.calendar.find_items( start__lt=tz.localize(EWSDateTime(year, month, day + 1)), end__gt=tz.localize(EWSDateTime(year, month, day)), categories__contains=['foo', 'bar'], )
failing to do so will most likely result in empty or wrong results.
Added a
exchangelib.restrictions.Q
class much like Django Q objects that can be used to create even more complex filtering. Q objects must be passed directly toexchangelib.services.FindItem
.