16
16
17
17
URL_PROPS = OrderedDict ([('html_link' , 'htmlLink' ),
18
18
('hangout_link' , 'hangoutLink' )])
19
+ ENTRY_POINT_PROPS = OrderedDict ([('conference_entry_point_type' , 'entryPointType' ),
20
+ ('conference_uri' , 'uri' )])
19
21
20
22
21
23
def _valid_title (event ):
@@ -156,7 +158,7 @@ def patch(cls, cal, event, fieldname, value):
156
158
class Conference (Handler ):
157
159
"""Handler for videoconference and teleconference details."""
158
160
159
- fieldnames = [ 'conference_entry_point_type' , 'conference_uri' ]
161
+ fieldnames = list ( ENTRY_POINT_PROPS . keys ())
160
162
161
163
@classmethod
162
164
def get (cls , event ):
@@ -169,7 +171,23 @@ def get(cls, event):
169
171
# https://github.com/insanum/gcalcli/issues/533
170
172
entry_point = data ['entryPoints' ][0 ]
171
173
172
- return [entry_point ['entryPointType' ], entry_point ['uri' ]]
174
+ return [entry_point .get (prop , '' )
175
+ for prop in ENTRY_POINT_PROPS .values ()]
176
+
177
+ @classmethod
178
+ def patch (cls , cal , event , fieldname , value ):
179
+ if not value :
180
+ return
181
+
182
+ prop = ENTRY_POINT_PROPS [fieldname ]
183
+
184
+ data = event .setdefault ('conferenceData' , {})
185
+ entry_points = data .setdefault ('entryPoints' , [])
186
+ if not entry_points :
187
+ entry_points .append ({})
188
+
189
+ entry_point = entry_points [0 ]
190
+ entry_point [prop ] = value
173
191
174
192
175
193
class Title (SingleFieldHandler ):
0 commit comments