@@ -26,7 +26,9 @@ <h1 class="title">Module <code>exchangelib.services.get_user_availability</code>
2626< summary >
2727< span > Expand source code</ span >
2828</ 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
3032from ..util import MNS, create_element, set_xml_value
3133from .common import EWSService
3234
@@ -39,9 +41,14 @@ <h1 class="title">Module <code>exchangelib.services.get_user_availability</code>
3941
4042 SERVICE_NAME = "GetUserAvailability"
4143
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):
4349 # TODO: Also supports SuggestionsViewOptions, see
4450 # https://docs.microsoft.com/en-us/exchange/client-developer/web-service-reference/suggestionsviewoptions
51+ self.tzinfo = tzinfo
4552 return self._elems_to_objs(
4653 self._chunked_get_elements(
4754 self.get_payload,
@@ -51,8 +58,13 @@ <h1 class="title">Module <code>exchangelib.services.get_user_availability</code>
5158 )
5259 )
5360
61+ @property
62+ def _timezone(self):
63+ return self.tzinfo
64+
5465 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)
5668
5769 def get_payload(self, mailbox_data, timezone, free_busy_view_options):
5870 payload = create_element(f"m:{self.SERVICE_NAME}Request")
@@ -94,7 +106,7 @@ <h2 class="section-title" id="header-classes">Classes</h2>
94106< dl >
95107< dt id ="exchangelib.services.get_user_availability.GetUserAvailability "> < code class ="flex name class ">
96108< 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 >
98110</ code > </ dt >
99111< dd >
100112< 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>
112124
113125 SERVICE_NAME = "GetUserAvailability"
114126
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):
116132 # TODO: Also supports SuggestionsViewOptions, see
117133 # https://docs.microsoft.com/en-us/exchange/client-developer/web-service-reference/suggestionsviewoptions
134+ self.tzinfo = tzinfo
118135 return self._elems_to_objs(
119136 self._chunked_get_elements(
120137 self.get_payload,
@@ -124,8 +141,13 @@ <h2 class="section-title" id="header-classes">Classes</h2>
124141 )
125142 )
126143
144+ @property
145+ def _timezone(self):
146+ return self.tzinfo
147+
127148 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)
129151
130152 def get_payload(self, mailbox_data, timezone, free_busy_view_options):
131153 payload = create_element(f"m:{self.SERVICE_NAME}Request")
@@ -170,17 +192,18 @@ <h3>Class variables</h3>
170192< h3 > Methods</ h3 >
171193< dl >
172194< 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 >
174196</ code > </ dt >
175197< dd >
176198< div class ="desc "> </ div >
177199< details class ="source ">
178200< summary >
179201< span > Expand source code</ span >
180202</ 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):
182204 # TODO: Also supports SuggestionsViewOptions, see
183205 # https://docs.microsoft.com/en-us/exchange/client-developer/web-service-reference/suggestionsviewoptions
206+ self.tzinfo = tzinfo
184207 return self._elems_to_objs(
185208 self._chunked_get_elements(
186209 self.get_payload,
0 commit comments