@@ -58,6 +58,13 @@ def add_arguments(self, parser):
5858 default = 'ed_xavier' ,
5959 help = 'Username for which to generate fake data' ,
6060 )
61+ parser .add_argument (
62+ '--no-videos' ,
63+ action = 'store_false' ,
64+ dest = 'videos' ,
65+ default = True ,
66+ help = 'Disables pulling video ids from the LMS server to generate fake video data and instead uses fake ids.'
67+ )
6168
6269 def generate_daily_data (self , course_id , start_date , end_date ):
6370 # Use the preset ratios below to generate data in the specified demographics
@@ -308,18 +315,26 @@ def generate_all_video_data(self, course_id, videos):
308315
309316 logger .info ("Done!" )
310317
318+ def fake_video_ids_fallback (self ):
319+ return [
320+ {
321+ 'video_id' : '0fac49ba' ,
322+ 'video_module_id' : 'i4x-edX-DemoX-video-5c90cffecd9b48b188cbfea176bf7fe9'
323+ }
324+ ]
325+
311326 def handle (self , * args , ** options ):
312327 course_id = options ['course_id' ]
313328 username = options ['username' ]
314- video_ids = self . fetch_videos_from_course_blocks ( course_id )
315- if not video_ids :
316- logger . warning ( "Falling back to fake video id due to Course Blocks API failure..." )
317- video_ids = [
318- {
319- 'video_id' : '0fac49ba' ,
320- 'video_module_id' : 'i4x-edX-DemoX-video-5c90cffecd9b48b188cbfea176bf7fe9'
321- }
322- ]
329+ videos = options [ 'videos' ]
330+ if videos :
331+ video_ids = self . fetch_videos_from_course_blocks ( course_id )
332+ if not video_ids :
333+ logger . warning ( "Falling back to fake video id due to Course Blocks API failure..." )
334+ video_ids = self . fake_video_ids_fallback ()
335+ else :
336+ logger . info ( "Option to generate videos with ids pulled from the LMS is disabled, using fake video ids..." )
337+ video_ids = self . fake_video_ids_fallback ()
323338 start_date = timezone .now () - datetime .timedelta (weeks = 10 )
324339
325340 num_weeks = options ['num_weeks' ]
0 commit comments