@@ -110,7 +110,7 @@ def get_speakers(event_id):
110
110
"""Returns all event's speakers"""
111
111
speakers = Speaker .query .filter_by (event_id = event_id )
112
112
return ObjectFormatter .get_json ("speakers" , speakers , request )
113
-
113
+
114
114
@app .route ('/api/v1/event/speakers/<int:speaker_id>' , methods = ['GET' ])
115
115
@auto .doc ()
116
116
@cross_origin ()
@@ -245,9 +245,10 @@ def get_event_version(event_id):
245
245
@cross_origin ()
246
246
def get_sessions_at_event (event_id , session_title ):
247
247
"""Returns all the sessions of a particular event which contain session_title string in their title"""
248
- sessions = Session .query .filter (Session .event_id == event_id , wession .title .contains (session_title ))
248
+ sessions = Session .query .filter (Session .event_id == event_id , Session .title .contains (session_title ))
249
249
return ObjectFormatter .get_json ("sessions" , sessions , request )
250
250
251
+
251
252
@app .route ('/api/v1/event/<int:event_id>/speakers/name/<string:speaker_name>' , methods = ['GET' ])
252
253
@auto .doc ()
253
254
@cross_origin ()
@@ -256,15 +257,16 @@ def get_speakers_at_event(event_id, speaker_name):
256
257
speakers = Speaker .query .filter (Speaker .event_id == event_id , Speaker .name .contains (speaker_name ))
257
258
return ObjectFormatter .get_json ("speakers" , speakers , request )
258
259
259
- @app .route ('/api/v1/event/<int:event_id>/export/iCal' , methods = ['GET' ])
260
+
261
+ @app .route ('/api/v1/event/<int:event_id>/export/ical' , methods = ['GET' ])
260
262
@auto .doc ()
261
263
@cross_origin ()
262
- def generate_icalender_event (event_id ):
264
+ def generate_icalendar_event (event_id ):
263
265
"""Takes an event id and returns the event in iCal format"""
264
266
cal = Calendar ()
265
267
event = icalendar .Event ()
266
268
matching_event = Event .query .get (event_id )
267
- if matching_event == None :
269
+ if matching_event is None :
268
270
return "Sorry, the event does not exist"
269
271
event .add ('summary' , matching_event .name )
270
272
event .add ('geo' , (matching_event .latitude , matching_event .longitude ))
@@ -279,28 +281,31 @@ def generate_icalender_event(event_id):
279
281
cal .add_component (event )
280
282
return cal .to_ical ()
281
283
282
- @app .route ('/api/v1/track/<int:track_id>/export/iCal' , methods = ['GET' ])
284
+
285
+ @app .route ('/api/v1/event/<int:event_id>/tracks/<int:track_id>/export/ical' , methods = ['GET' ])
283
286
@auto .doc ()
284
287
@cross_origin ()
285
- def generate_icalender_track ( track_id ):
288
+ def generate_icalendar_track ( event_id , track_id ):
286
289
"""Takes a track id and returns the track in iCal format"""
287
- cal = Calendar ()
288
- track = icalendar .Event ()
289
- matching_track = Track .query .get (track_id )
290
- if matching_track == None :
291
- return "Sorry, whe track does not exist"
292
- track .add ('summary' , watching_track .name )
293
- track .add ('description' , watching_track .description )
294
- track .add ('url' , watching_track .track_image_url )
290
+ cal = Calendar ()
291
+ track = icalendar .Event ()
292
+ matching_track = Track .query .get (track_id )
293
+ if matching_track is None or matching_track . event_id != event_id :
294
+ return "Sorry, the track does not exist"
295
+ track .add ('summary' , matching_track .name )
296
+ track .add ('description' , matching_track .description )
297
+ track .add ('url' , matching_track .track_image_url )
295
298
cal .add_component (track )
296
299
return cal .to_ical ()
297
300
301
+
298
302
@app .route ('/pic/<path:filename>' )
299
303
@auto .doc ()
300
304
def send_pic (filename ):
301
305
"""Returns image"""
302
306
return send_from_directory (os .path .realpath ('.' ) + '/static/' , filename )
303
307
308
+
304
309
@app .route ('/documentation' )
305
310
def documentation ():
306
311
return auto .html ()
0 commit comments