当前位置: 首页>>代码示例>>Python>>正文


Python XBlock.json_handler方法代码示例

本文整理汇总了Python中xblock.core.XBlock.json_handler方法的典型用法代码示例。如果您正苦于以下问题:Python XBlock.json_handler方法的具体用法?Python XBlock.json_handler怎么用?Python XBlock.json_handler使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在xblock.core.XBlock的用法示例。


在下文中一共展示了XBlock.json_handler方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: publish_event

# 需要导入模块: from xblock.core import XBlock [as 别名]
# 或者: from xblock.core.XBlock import json_handler [as 别名]
def publish_event(self, data, _suffix=''):
        """
        Handler to publish XBlock event from frontend. Called by JavaScript of `student_view`.

        Arguments:
            data (dict): Data from frontend on the event.
            _suffix (string): Slug used for routing. Imposed by `XBlock.json_handler`.
        Returns:
            Data on result (dict).
        """
        try:
            event_type = data.pop('eventType')
        except KeyError:
            return {'result': 'error', 'message': 'Missing eventType in JSON data'}

        self.runtime.publish(self, event_type, data)
        return {'result': 'success'} 
开发者ID:appsembler,项目名称:xblock-video,代码行数:19,代码来源:video_xblock.py

示例2: authenticate_video_api_handler

# 需要导入模块: from xblock.core import XBlock [as 别名]
# 或者: from xblock.core.XBlock import json_handler [as 别名]
def authenticate_video_api_handler(self, data, _suffix=''):
        """
        Xblock handler to authenticate to a video platform's API. Called by JavaScript of `studio_view`.

        Arguments:
            data (dict): Data from frontend, necessary for authentication (tokens, account id, etc).
            _suffix (str): Slug used for routing. Imposed by `XBlock.json_handler`.
        Returns:
            response (dict): Status messages key-value pairs.
        """
        # Fetch a token provided by a user before the save button was clicked.
        token = str(data)

        is_default_token = token == self.fields['token'].default  # pylint: disable=unsubscriptable-object
        is_youtube_player = str(self.player_name) != PlayerName.YOUTUBE  # pylint: disable=unsubscriptable-object
        if not token or (is_default_token and is_youtube_player):
            return {
                'error_message': "In order to authenticate to a video platform's API, "
                                 "please provide a Video API Token."
                }

        _auth_data, error_message = self.authenticate_video_api(token)
        if error_message:
            return {'error_message': error_message}
        return {'success_message': 'Successfully authenticated to the video platform.'} 
开发者ID:appsembler,项目名称:xblock-video,代码行数:27,代码来源:video_xblock.py

示例3: dispatch

# 需要导入模块: from xblock.core import XBlock [as 别名]
# 或者: from xblock.core.XBlock import json_handler [as 别名]
def dispatch(self, request, suffix):
        """
        Dispatch request to XBlock's player.

        Arguments:
            request (xblock.django.request.DjangoWebobRequest): Incoming request data.
            suffix (str): Slug used for routing. Imposed by `XBlock.json_handler`.
        Returns:
             Depending on player's `dispatch()` entry point, either info on video / Brightcove account or None value
             (when performing some action via Brightcove API) may be returned.
        """
        return self.get_player().dispatch(request, suffix) 
开发者ID:appsembler,项目名称:xblock-video,代码行数:14,代码来源:video_xblock.py

示例4: upload_default_transcript_handler

# 需要导入模块: from xblock.core import XBlock [as 别名]
# 或者: from xblock.core.XBlock import json_handler [as 别名]
def upload_default_transcript_handler(self, data, _suffix=''):
        """
        Upload a transcript, fetched from a video platform's API, to video xblock.

        Arguments:
            data (dict): Data from frontend on a default transcript to be fetched from a video platform.
            _suffix (str): Slug used for routing. Imposed by `XBlock.json_handler`.
        Returns:
            response (dict): Data on a default transcript, fetched from a video platform.

        """
        log.debug("Uploading default transcript with data: {}".format(data))
        player = self.get_player()
        video_id = player.media_id(self.href)
        lang_code = str(data.get(u'lang'))
        lang_label = str(data.get(u'label'))
        source = str(data.get(u'source', ''))
        sub_url = str(data.get(u'url'))

        reference_name = create_reference_name(lang_label, video_id, source)

        # Fetch text of single default transcript:
        unicode_subs_text = player.download_default_transcript(sub_url, lang_code)
        if not unicode_subs_text:
            return {'failure_message': _("Couldn't upload transcript text.")}

        if not player.default_transcripts_in_vtt:
            prepared_subs = self.convert_caps_to_vtt(caps=unicode_subs_text)
        else:
            prepared_subs = unicode_subs_text

        file_name, external_url = self.create_transcript_file(
            trans_str=prepared_subs, reference_name=reference_name
        )

        # Exceptions are handled on the frontend
        success_message = 'Successfully uploaded "{}".'.format(file_name)
        response = {
            'success_message': success_message,
            'lang': lang_code,
            'url': external_url,
            'label': lang_label,
            'source': source,
        }
        log.debug("Uploaded default transcript: {}".format(response))
        return response 
开发者ID:appsembler,项目名称:xblock-video,代码行数:48,代码来源:video_xblock.py


注:本文中的xblock.core.XBlock.json_handler方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。