diff --git a/common/lib/xmodule/xmodule/videoalpha_module.py b/common/lib/xmodule/xmodule/videoalpha_module.py index da0d58530c..6910728d8c 100644 --- a/common/lib/xmodule/xmodule/videoalpha_module.py +++ b/common/lib/xmodule/xmodule/videoalpha_module.py @@ -19,6 +19,18 @@ log = logging.getLogger(__name__) class VideoAlphaModule(XModule): + """ + XML source example: + + + + + + + """ video_time = 0 icon_class = 'video' @@ -39,14 +51,16 @@ class VideoAlphaModule(XModule): XModule.__init__(self, system, location, definition, descriptor, instance_state, shared_state, **kwargs) xmltree = etree.fromstring(self.definition['data']) - self.youtube = xmltree.get('youtube') + self.youtube_streams = xmltree.get('youtube') self.sub = xmltree.get('sub') self.position = 0 self.show_captions = xmltree.get('show_captions', 'true') - self.source = self._get_source(xmltree) - self.mp4_source = self._get_source(xmltree, ['mp4']) - self.webm_source = self._get_source(xmltree, ['webm']) - self.ogv_source = self._get_source(xmltree, ['ogv']) + self.sources = { + 'main': self._get_source(xmltree), + 'mp4': self._get_source(xmltree, ['mp4']), + 'webm': self._get_source(xmltree, ['webm']), + 'ogv': self._get_source(xmltree, ['ogv']), + } self.track = self._get_track(xmltree) self.start_time, self.end_time = self._get_timeframe(xmltree) @@ -109,25 +123,12 @@ class VideoAlphaModule(XModule): return json.dumps({'success': True}) raise Http404() - def get_progress(self): - ''' TODO (vshnayder): Get and save duration of youtube video, then return - fraction watched. - (Be careful to notice when video link changes and update) - - For now, we have no way of knowing if the video has even been watched, so - just return None. - ''' - return None - def get_instance_state(self): #log.debug(u"STATE POSITION {0}".format(self.position)) return json.dumps({'position': self.position}) - def videoalpha_list(self): - return self.youtube - def get_html(self): - if isinstance(modulestore(), MongoModuleStore) : + if isinstance(modulestore(), MongoModuleStore): caption_asset_path = StaticContent.get_base_url_path_for_course_assets(self.location) + '/subs_' else: # VS[compat] @@ -135,14 +136,10 @@ class VideoAlphaModule(XModule): caption_asset_path = "/static/{0}/subs/".format(self.metadata['data_dir']) return self.system.render_template('videoalpha.html', { - 'streams': self.videoalpha_list(), + 'youtube_streams': self.youtube_streams, 'id': self.location.html_id(), - 'position': self.position, - 'mp4_source': self.mp4_source, - 'webm_source': self.webm_source, - 'ogv_source': self.ogv_source, 'sub': self.sub, - 'source': self.source, + 'sources': self.sources, 'track': self.track, 'display_name': self.display_name, # TODO (cpennington): This won't work when we move to data that isn't on the filesystem diff --git a/lms/templates/videoalpha.html b/lms/templates/videoalpha.html index d741f59e75..2ddcdd57e1 100644 --- a/lms/templates/videoalpha.html +++ b/lms/templates/videoalpha.html @@ -8,11 +8,11 @@
%endif -% if source: +% if sources.get('main'):
-

Download video here.

+

Download video here.

% endif