def bumper_metadata(video, sources):
 transcripts = video.get_transcripts_info(is_bumper=True)
 (unused_track_url, bumper_transcript_language, bumper_languages) = video.get_transcripts_for_student(transcripts)
 metadata = OrderedDict({'saveStateUrl': (video.system.ajax_url + '/save_user_state'), 'showCaptions': json.dumps(video.show_captions), 'sources': sources, 'streams': '', 'transcriptLanguage': bumper_transcript_language, 'transcriptLanguages': bumper_languages, 'transcriptTranslationUrl': set_query_parameter(video.runtime.handler_url(video, 'transcript', 'translation/__lang__').rstrip('/?'), 'is_bumper', 1), 'transcriptAvailableTranslationsUrl': set_query_parameter(video.runtime.handler_url(video, 'transcript', 'available_translations').rstrip('/?'), 'is_bumper', 1)})
 return metadata

def bumper_metadata ( video , sources ) : transcripts = video . get_transcripts_info ( is_bumper = True ) ( unused_track_url , bumper_transcript_language , bumper_languages ) = video . get_transcripts_for_student ( transcripts ) metadata = OrderedDict ( { 'saveStateUrl' : ( video . system . ajax_url + '/save_user_state' ) , 'showCaptions' : json . dumps ( video . show_captions ) , 'sources' : sources , 'streams' : '' , 'transcriptLanguage' : bumper_transcript_language , 'transcriptLanguages' : bumper_languages , 'transcriptTranslationUrl' : set_query_parameter ( video . runtime . handler_url ( video , 'transcript' , 'translation/__lang__' ) . rstrip ( '/?' ) , 'is_bumper' , 1 ) , 'transcriptAvailableTranslationsUrl' : set_query_parameter ( video . runtime . handler_url ( video , 'transcript' , 'available_translations' ) . rstrip ( '/?' ) , 'is_bumper' , 1 ) } ) return metadata
generate bumper metadata .