@@ -26,7 +26,9 @@ <h1 class="title">Module <code>exchangelib.services.get_user_availability</code>
26
26
< summary >
27
27
< span > Expand source code</ span >
28
28
</ summary >
29
- < pre > < code class ="python "> from ..properties import FreeBusyView
29
+ < pre > < code class ="python "> from collections import namedtuple
30
+
31
+ from ..properties import FreeBusyView
30
32
from ..util import MNS, create_element, set_xml_value
31
33
from .common import EWSService
32
34
@@ -39,9 +41,14 @@ <h1 class="title">Module <code>exchangelib.services.get_user_availability</code>
39
41
40
42
SERVICE_NAME = "GetUserAvailability"
41
43
42
- def call(self, mailbox_data, timezone, free_busy_view_options):
44
+ def __init__(self, *args, **kwargs):
45
+ super().__init__(*args, **kwargs)
46
+ self.tzinfo = None
47
+
48
+ def call(self, tzinfo, mailbox_data, timezone, free_busy_view_options):
43
49
# TODO: Also supports SuggestionsViewOptions, see
44
50
# https://docs.microsoft.com/en-us/exchange/client-developer/web-service-reference/suggestionsviewoptions
51
+ self.tzinfo = tzinfo
45
52
return self._elems_to_objs(
46
53
self._chunked_get_elements(
47
54
self.get_payload,
@@ -51,8 +58,13 @@ <h1 class="title">Module <code>exchangelib.services.get_user_availability</code>
51
58
)
52
59
)
53
60
61
+ @property
62
+ def _timezone(self):
63
+ return self.tzinfo
64
+
54
65
def _elem_to_obj(self, elem):
55
- return FreeBusyView.from_xml(elem=elem, account=None)
66
+ fake_account = namedtuple("Account", ["default_timezone"])(default_timezone=self.tzinfo)
67
+ return FreeBusyView.from_xml(elem=elem, account=fake_account)
56
68
57
69
def get_payload(self, mailbox_data, timezone, free_busy_view_options):
58
70
payload = create_element(f"m:{self.SERVICE_NAME}Request")
@@ -94,7 +106,7 @@ <h2 class="section-title" id="header-classes">Classes</h2>
94
106
< dl >
95
107
< dt id ="exchangelib.services.get_user_availability.GetUserAvailability "> < code class ="flex name class ">
96
108
< span > class < span class ="ident "> GetUserAvailability</ span > </ span >
97
- < span > (</ span > < span > protocol, chunk_size=None, timeout=None )</ span >
109
+ < span > (</ span > < span > *args, **kwargs )</ span >
98
110
</ code > </ dt >
99
111
< dd >
100
112
< div class ="desc "> < p > Get detailed availability information for a list of users.
@@ -112,9 +124,14 @@ <h2 class="section-title" id="header-classes">Classes</h2>
112
124
113
125
SERVICE_NAME = "GetUserAvailability"
114
126
115
- def call(self, mailbox_data, timezone, free_busy_view_options):
127
+ def __init__(self, *args, **kwargs):
128
+ super().__init__(*args, **kwargs)
129
+ self.tzinfo = None
130
+
131
+ def call(self, tzinfo, mailbox_data, timezone, free_busy_view_options):
116
132
# TODO: Also supports SuggestionsViewOptions, see
117
133
# https://docs.microsoft.com/en-us/exchange/client-developer/web-service-reference/suggestionsviewoptions
134
+ self.tzinfo = tzinfo
118
135
return self._elems_to_objs(
119
136
self._chunked_get_elements(
120
137
self.get_payload,
@@ -124,8 +141,13 @@ <h2 class="section-title" id="header-classes">Classes</h2>
124
141
)
125
142
)
126
143
144
+ @property
145
+ def _timezone(self):
146
+ return self.tzinfo
147
+
127
148
def _elem_to_obj(self, elem):
128
- return FreeBusyView.from_xml(elem=elem, account=None)
149
+ fake_account = namedtuple("Account", ["default_timezone"])(default_timezone=self.tzinfo)
150
+ return FreeBusyView.from_xml(elem=elem, account=fake_account)
129
151
130
152
def get_payload(self, mailbox_data, timezone, free_busy_view_options):
131
153
payload = create_element(f"m:{self.SERVICE_NAME}Request")
@@ -170,17 +192,18 @@ <h3>Class variables</h3>
170
192
< h3 > Methods</ h3 >
171
193
< dl >
172
194
< dt id ="exchangelib.services.get_user_availability.GetUserAvailability.call "> < code class ="name flex ">
173
- < span > def < span class ="ident "> call</ span > </ span > (< span > self, mailbox_data, timezone, free_busy_view_options)</ span >
195
+ < span > def < span class ="ident "> call</ span > </ span > (< span > self, tzinfo, mailbox_data, timezone, free_busy_view_options)</ span >
174
196
</ code > </ dt >
175
197
< dd >
176
198
< div class ="desc "> </ div >
177
199
< details class ="source ">
178
200
< summary >
179
201
< span > Expand source code</ span >
180
202
</ summary >
181
- < pre > < code class ="python "> def call(self, mailbox_data, timezone, free_busy_view_options):
203
+ < pre > < code class ="python "> def call(self, tzinfo, mailbox_data, timezone, free_busy_view_options):
182
204
# TODO: Also supports SuggestionsViewOptions, see
183
205
# https://docs.microsoft.com/en-us/exchange/client-developer/web-service-reference/suggestionsviewoptions
206
+ self.tzinfo = tzinfo
184
207
return self._elems_to_objs(
185
208
self._chunked_get_elements(
186
209
self.get_payload,
0 commit comments