@@ -1203,6 +1203,19 @@ <h1 class="title">Module <code>exchangelib.fields</code></h1>
1203
1203
return super().clean(value, version=version)
1204
1204
1205
1205
1206
+ class AddressListField(EWSElementListField):
1207
+ def __init__(self, *args, **kwargs):
1208
+ from .properties import Address
1209
+
1210
+ kwargs["value_cls"] = Address
1211
+ super().__init__(*args, **kwargs)
1212
+
1213
+ def clean(self, value, version=None):
1214
+ if value is not None:
1215
+ value = [self.value_cls(email_address=s) if isinstance(s, str) else s for s in value]
1216
+ return super().clean(value, version=version)
1217
+
1218
+
1206
1219
class MemberListField(EWSElementListField):
1207
1220
def __init__(self, *args, **kwargs):
1208
1221
from .properties import Member
@@ -1812,7 +1825,23 @@ <h1 class="title">Module <code>exchangelib.fields</code></h1>
1812
1825
1813
1826
def __init__(self, *args, **kwargs):
1814
1827
kwargs["choices"] = SENSITIVITY_CHOICES
1815
- super().__init__(*args, **kwargs)</ code > </ pre >
1828
+ super().__init__(*args, **kwargs)
1829
+
1830
+
1831
+ class FolderActionField(EWSElementField):
1832
+ def __init__(self, *args, **kwargs):
1833
+ super().__init__(*args, **kwargs)
1834
+
1835
+ def clean(self, value, version=None):
1836
+ from .folders import DistinguishedFolderId, Folder
1837
+
1838
+ if isinstance(value, Folder):
1839
+ folder_id = value.to_id()
1840
+ if isinstance(folder_id, DistinguishedFolderId):
1841
+ value = self.value_cls(distinguished_folder_id=folder_id)
1842
+ else:
1843
+ value = self.value_cls(folder_id=folder_id)
1844
+ return super().clean(value, version=version)</ code > </ pre >
1816
1845
</ details >
1817
1846
</ section >
1818
1847
< section >
@@ -1928,6 +1957,64 @@ <h2 class="section-title" id="header-functions">Functions</h2>
1928
1957
< section >
1929
1958
< h2 class ="section-title " id ="header-classes "> Classes</ h2 >
1930
1959
< dl >
1960
+ < dt id ="exchangelib.fields.AddressListField "> < code class ="flex name class ">
1961
+ < span > class < span class ="ident "> AddressListField</ span > </ span >
1962
+ < span > (</ span > < span > *args, **kwargs)</ span >
1963
+ </ code > </ dt >
1964
+ < dd >
1965
+ < div class ="desc "> < p > Like EWSElementField, but for lists of EWSElement objects.</ p > </ div >
1966
+ < details class ="source ">
1967
+ < summary >
1968
+ < span > Expand source code</ span >
1969
+ </ summary >
1970
+ < pre > < code class ="python "> class AddressListField(EWSElementListField):
1971
+ def __init__(self, *args, **kwargs):
1972
+ from .properties import Address
1973
+
1974
+ kwargs["value_cls"] = Address
1975
+ super().__init__(*args, **kwargs)
1976
+
1977
+ def clean(self, value, version=None):
1978
+ if value is not None:
1979
+ value = [self.value_cls(email_address=s) if isinstance(s, str) else s for s in value]
1980
+ return super().clean(value, version=version)</ code > </ pre >
1981
+ </ details >
1982
+ < h3 > Ancestors</ h3 >
1983
+ < ul class ="hlist ">
1984
+ < li > < a title ="exchangelib.fields.EWSElementListField " href ="#exchangelib.fields.EWSElementListField "> EWSElementListField</ a > </ li >
1985
+ < li > < a title ="exchangelib.fields.EWSElementField " href ="#exchangelib.fields.EWSElementField "> EWSElementField</ a > </ li >
1986
+ < li > < a title ="exchangelib.fields.FieldURIField " href ="#exchangelib.fields.FieldURIField "> FieldURIField</ a > </ li >
1987
+ < li > < a title ="exchangelib.fields.Field " href ="#exchangelib.fields.Field "> Field</ a > </ li >
1988
+ < li > < a title ="exchangelib.version.SupportedVersionInstanceMixIn " href ="version.html#exchangelib.version.SupportedVersionInstanceMixIn "> SupportedVersionInstanceMixIn</ a > </ li >
1989
+ </ ul >
1990
+ < h3 > Methods</ h3 >
1991
+ < dl >
1992
+ < dt id ="exchangelib.fields.AddressListField.clean "> < code class ="name flex ">
1993
+ < span > def < span class ="ident "> clean</ span > </ span > (< span > self, value, version=None)</ span >
1994
+ </ code > </ dt >
1995
+ < dd >
1996
+ < div class ="desc "> </ div >
1997
+ < details class ="source ">
1998
+ < summary >
1999
+ < span > Expand source code</ span >
2000
+ </ summary >
2001
+ < pre > < code class ="python "> def clean(self, value, version=None):
2002
+ if value is not None:
2003
+ value = [self.value_cls(email_address=s) if isinstance(s, str) else s for s in value]
2004
+ return super().clean(value, version=version)</ code > </ pre >
2005
+ </ details >
2006
+ </ dd >
2007
+ </ dl >
2008
+ < h3 > Inherited members</ h3 >
2009
+ < ul class ="hlist ">
2010
+ < li > < code > < b > < a title ="exchangelib.fields.EWSElementListField " href ="#exchangelib.fields.EWSElementListField "> EWSElementListField</ a > </ b > </ code > :
2011
+ < ul class ="hlist ">
2012
+ < li > < code > < a title ="exchangelib.fields.EWSElementListField.from_xml " href ="#exchangelib.fields.Field.from_xml "> from_xml</ a > </ code > </ li >
2013
+ < li > < code > < a title ="exchangelib.fields.EWSElementListField.to_xml " href ="#exchangelib.fields.Field.to_xml "> to_xml</ a > </ code > </ li >
2014
+ </ ul >
2015
+ </ li >
2016
+ </ ul >
2017
+ </ dd >
1931
2018
< dt id ="exchangelib.fields.AppointmentStateField "> < code class ="flex name class ">
1932
2019
< span > class < span class ="ident "> AppointmentStateField</ span > </ span >
1933
2020
< span > (</ span > < span > *args, **kwargs)</ span >
@@ -3308,6 +3395,7 @@ <h3>Subclasses</h3>
3308
3395
< li > < a title ="exchangelib.fields.BodyContentAttributedValueField " href ="#exchangelib.fields.BodyContentAttributedValueField "> BodyContentAttributedValueField</ a > </ li >
3309
3396
< li > < a title ="exchangelib.fields.EWSElementListField " href ="#exchangelib.fields.EWSElementListField "> EWSElementListField</ a > </ li >
3310
3397
< li > < a title ="exchangelib.fields.EffectiveRightsField " href ="#exchangelib.fields.EffectiveRightsField "> EffectiveRightsField</ a > </ li >
3398
+ < li > < a title ="exchangelib.fields.FolderActionField " href ="#exchangelib.fields.FolderActionField "> FolderActionField</ a > </ li >
3311
3399
< li > < a title ="exchangelib.fields.GenericEventListField " href ="#exchangelib.fields.GenericEventListField "> GenericEventListField</ a > </ li >
3312
3400
< li > < a title ="exchangelib.fields.IdElementField " href ="#exchangelib.fields.IdElementField "> IdElementField</ a > </ li >
3313
3401
< li > < a title ="exchangelib.fields.IndexedField " href ="#exchangelib.fields.IndexedField "> IndexedField</ a > </ li >
@@ -3372,6 +3460,7 @@ <h3>Ancestors</h3>
3372
3460
</ ul >
3373
3461
< h3 > Subclasses</ h3 >
3374
3462
< ul class ="hlist ">
3463
+ < li > < a title ="exchangelib.fields.AddressListField " href ="#exchangelib.fields.AddressListField "> AddressListField</ a > </ li >
3375
3464
< li > < a title ="exchangelib.fields.AttachmentField " href ="#exchangelib.fields.AttachmentField "> AttachmentField</ a > </ li >
3376
3465
< li > < a title ="exchangelib.fields.AttendeesField " href ="#exchangelib.fields.AttendeesField "> AttendeesField</ a > </ li >
3377
3466
< li > < a title ="exchangelib.fields.EmailAddressAttributedValueField " href ="#exchangelib.fields.EmailAddressAttributedValueField "> EmailAddressAttributedValueField</ a > </ li >
@@ -4751,6 +4840,72 @@ <h3>Inherited members</h3>
4751
4840
</ li >
4752
4841
</ ul >
4753
4842
</ dd >
4843
+ < dt id ="exchangelib.fields.FolderActionField "> < code class ="flex name class ">
4844
+ < span > class < span class ="ident "> FolderActionField</ span > </ span >
4845
+ < span > (</ span > < span > *args, **kwargs)</ span >
4846
+ </ code > </ dt >
4847
+ < dd >
4848
+ < div class ="desc "> < p > A generic field for any EWSElement object.</ p > </ div >
4849
+ < details class ="source ">
4850
+ < summary >
4851
+ < span > Expand source code</ span >
4852
+ </ summary >
4853
+ < pre > < code class ="python "> class FolderActionField(EWSElementField):
4854
+ def __init__(self, *args, **kwargs):
4855
+ super().__init__(*args, **kwargs)
4856
+
4857
+ def clean(self, value, version=None):
4858
+ from .folders import DistinguishedFolderId, Folder
4859
+
4860
+ if isinstance(value, Folder):
4861
+ folder_id = value.to_id()
4862
+ if isinstance(folder_id, DistinguishedFolderId):
4863
+ value = self.value_cls(distinguished_folder_id=folder_id)
4864
+ else:
4865
+ value = self.value_cls(folder_id=folder_id)
4866
+ return super().clean(value, version=version)</ code > </ pre >
4867
+ </ details >
4868
+ < h3 > Ancestors</ h3 >
4869
+ < ul class ="hlist ">
4870
+ < li > < a title ="exchangelib.fields.EWSElementField " href ="#exchangelib.fields.EWSElementField "> EWSElementField</ a > </ li >
4871
+ < li > < a title ="exchangelib.fields.FieldURIField " href ="#exchangelib.fields.FieldURIField "> FieldURIField</ a > </ li >
4872
+ < li > < a title ="exchangelib.fields.Field " href ="#exchangelib.fields.Field "> Field</ a > </ li >
4873
+ < li > < a title ="exchangelib.version.SupportedVersionInstanceMixIn " href ="version.html#exchangelib.version.SupportedVersionInstanceMixIn "> SupportedVersionInstanceMixIn</ a > </ li >
4874
+ </ ul >
4875
+ < h3 > Methods</ h3 >
4876
+ < dl >
4877
+ < dt id ="exchangelib.fields.FolderActionField.clean "> < code class ="name flex ">
4878
+ < span > def < span class ="ident "> clean</ span > </ span > (< span > self, value, version=None)</ span >
4879
+ </ code > </ dt >
4880
+ < dd >
4881
+ < div class ="desc "> </ div >
4882
+ < details class ="source ">
4883
+ < summary >
4884
+ < span > Expand source code</ span >
4885
+ </ summary >
4886
+ < pre > < code class ="python "> def clean(self, value, version=None):
4887
+ from .folders import DistinguishedFolderId, Folder
4888
+
4889
+ if isinstance(value, Folder):
4890
+ folder_id = value.to_id()
4891
+ if isinstance(folder_id, DistinguishedFolderId):
4892
+ value = self.value_cls(distinguished_folder_id=folder_id)
4893
+ else:
4894
+ value = self.value_cls(folder_id=folder_id)
4895
+ return super().clean(value, version=version)</ code > </ pre >
4896
+ </ details >
4897
+ </ dd >
4898
+ </ dl >
4899
+ < h3 > Inherited members</ h3 >
4900
+ < ul class ="hlist ">
4901
+ < li > < code > < b > < a title ="exchangelib.fields.EWSElementField " href ="#exchangelib.fields.EWSElementField "> EWSElementField</ a > </ b > </ code > :
4902
+ < ul class ="hlist ">
4903
+ < li > < code > < a title ="exchangelib.fields.EWSElementField.from_xml " href ="#exchangelib.fields.Field.from_xml "> from_xml</ a > </ code > </ li >
4904
+ < li > < code > < a title ="exchangelib.fields.EWSElementField.to_xml " href ="#exchangelib.fields.Field.to_xml "> to_xml</ a > </ code > </ li >
4905
+ </ ul >
4906
+ </ li >
4907
+ </ ul >
4908
+ </ dd >
4754
4909
< dt id ="exchangelib.fields.FreeBusyStatusField "> < code class ="flex name class ">
4755
4910
< span > class < span class ="ident "> FreeBusyStatusField</ span > </ span >
4756
4911
< span > (</ span > < span > *args, **kwargs)</ span >
@@ -7223,6 +7378,12 @@ <h1>Index</h1>
7223
7378
< li > < h3 > < a href ="#header-classes "> Classes</ a > </ h3 >
7224
7379
< ul >
7225
7380
< li >
7381
+ < h4 > < code > < a title ="exchangelib.fields.AddressListField " href ="#exchangelib.fields.AddressListField "> AddressListField</ a > </ code > </ h4 >
7382
+ < ul class ="">
7383
+ < li > < code > < a title ="exchangelib.fields.AddressListField.clean " href ="#exchangelib.fields.AddressListField.clean "> clean</ a > </ code > </ li >
7384
+ </ ul >
7385
+ </ li >
7386
+ < li >
7226
7387
< h4 > < code > < a title ="exchangelib.fields.AppointmentStateField " href ="#exchangelib.fields.AppointmentStateField "> AppointmentStateField</ a > </ code > </ h4 >
7227
7388
< ul class ="">
7228
7389
< li > < code > < a title ="exchangelib.fields.AppointmentStateField.CANCELLED " href ="#exchangelib.fields.AppointmentStateField.CANCELLED "> CANCELLED</ a > </ code > </ li >
@@ -7449,6 +7610,12 @@ <h4><code><a title="exchangelib.fields.FieldURIField" href="#exchangelib.fields.
7449
7610
< h4 > < code > < a title ="exchangelib.fields.FlaggedForActionField " href ="#exchangelib.fields.FlaggedForActionField "> FlaggedForActionField</ a > </ code > </ h4 >
7450
7611
</ li >
7451
7612
< li >
7613
+ < h4 > < code > < a title ="exchangelib.fields.FolderActionField " href ="#exchangelib.fields.FolderActionField "> FolderActionField</ a > </ code > </ h4 >
7614
+ < ul class ="">
7615
+ < li > < code > < a title ="exchangelib.fields.FolderActionField.clean " href ="#exchangelib.fields.FolderActionField.clean "> clean</ a > </ code > </ li >
7616
+ </ ul >
7617
+ </ li >
7618
+ < li >
7452
7619
< h4 > < code > < a title ="exchangelib.fields.FreeBusyStatusField " href ="#exchangelib.fields.FreeBusyStatusField "> FreeBusyStatusField</ a > </ code > </ h4 >
7453
7620
</ li >
7454
7621
< li >
0 commit comments