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


Python StudioValidation.copy方法代码示例

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


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

示例1: validate

# 需要导入模块: from xmodule.validation import StudioValidation [as 别名]
# 或者: from xmodule.validation.StudioValidation import copy [as 别名]
    def validate(self):
        """
        Validates the state of this video Module Instance. This
        is the override of the general XBlock method, and it will also ask
        its superclass to validate.
        """
        validation = super(VideoDescriptor, self).validate()
        if not isinstance(validation, StudioValidation):
            validation = StudioValidation.copy(validation)

        no_transcript_lang = []
        for lang_code, transcript in self.transcripts.items():
            if not transcript:
                no_transcript_lang.append([label for code, label in settings.ALL_LANGUAGES if code == lang_code][0])

        if no_transcript_lang:
            ungettext = self.runtime.service(self, "i18n").ungettext
            validation.set_summary(
                StudioValidationMessage(
                    StudioValidationMessage.WARNING,
                    ungettext(
                        'There is no transcript file associated with the {lang} language.',
                        'There are no transcript files associated with the {lang} languages.',
                        len(no_transcript_lang)
                    ).format(lang=', '.join(no_transcript_lang))
                )
            )
        return validation
开发者ID:Lektorium-LLC,项目名称:edx-platform,代码行数:30,代码来源:video_module.py

示例2: test_copy

# 需要导入模块: from xmodule.validation import StudioValidation [as 别名]
# 或者: from xmodule.validation.StudioValidation import copy [as 别名]
    def test_copy(self):
        validation = Validation("id")
        validation.add(ValidationMessage(ValidationMessage.ERROR, u"Error message"))

        studio_validation = StudioValidation.copy(validation)
        self.assertIsInstance(studio_validation, StudioValidation)
        self.assertFalse(studio_validation)
        self.assertEqual(1, len(studio_validation.messages))
        expected = {
            "type": StudioValidationMessage.ERROR,
            "text": u"Error message"
        }
        self.assertEqual(expected, studio_validation.messages[0].to_json())
        self.assertIsNone(studio_validation.summary)
开发者ID:luisvasq,项目名称:edx-platform,代码行数:16,代码来源:test_validation.py

示例3: test_copy_studio_validation

# 需要导入模块: from xmodule.validation import StudioValidation [as 别名]
# 或者: from xmodule.validation.StudioValidation import copy [as 别名]
    def test_copy_studio_validation(self):
        validation = StudioValidation("id")
        validation.add(
            StudioValidationMessage(StudioValidationMessage.WARNING, u"Warning message", action_label=u"Action Label")
        )

        validation_copy = StudioValidation.copy(validation)
        self.assertFalse(validation_copy)
        self.assertEqual(1, len(validation_copy.messages))
        expected = {
            "type": StudioValidationMessage.WARNING,
            "text": u"Warning message",
            "action_label": u"Action Label"
        }
        self.assertEqual(expected, validation_copy.messages[0].to_json())
开发者ID:luisvasq,项目名称:edx-platform,代码行数:17,代码来源:test_validation.py

示例4: validate

# 需要导入模块: from xmodule.validation import StudioValidation [as 别名]
# 或者: from xmodule.validation.StudioValidation import copy [as 别名]
 def validate(self):
     validation = super(ConditionalDescriptor, self).validate()
     if not self.sources_list:
         conditional_validation = StudioValidation(self.location)
         conditional_validation.add(
             StudioValidationMessage(
                 StudioValidationMessage.NOT_CONFIGURED,
                 _(u"This component has no source components configured yet."),
                 action_class='edit-button',
                 action_label=_(u"Configure list of sources")
             )
         )
         validation = StudioValidation.copy(validation)
         validation.summary = conditional_validation.messages[0]
     return validation
开发者ID:eduNEXT,项目名称:edunext-platform,代码行数:17,代码来源:conditional_module.py

示例5: validate

# 需要导入模块: from xmodule.validation import StudioValidation [as 别名]
# 或者: from xmodule.validation.StudioValidation import copy [as 别名]
    def validate(self):
        """
        Validates the state of this instance. This is the override of the general XBlock method,
        and it will also ask its superclass to validate.
        """
        validation = super(PeerGradingDescriptor, self).validate()
        validation = StudioValidation.copy(validation)

        i18n_service = self.runtime.service(self, "i18n")

        validation.summary = StudioValidationMessage(
            StudioValidationMessage.ERROR,
            i18n_service.ugettext(
                "ORA1 is no longer supported. To use this assessment, "
                "replace this ORA1 component with an ORA2 component."
            )
        )
        return validation
开发者ID:Certific-NET,项目名称:edx-platform,代码行数:20,代码来源:peer_grading_module.py

示例6: validate

# 需要导入模块: from xmodule.validation import StudioValidation [as 别名]
# 或者: from xmodule.validation.StudioValidation import copy [as 别名]
    def validate(self):
        """
        Validates the state of this split_test instance. This is the override of the general XBlock method,
        and it will also ask its superclass to validate.
        """
        validation = super(SplitTestDescriptor, self).validate()
        split_test_validation = self.validate_split_test()

        if split_test_validation:
            return validation

        validation = StudioValidation.copy(validation)
        if validation and (not self.is_configured and len(split_test_validation.messages) == 1):
            validation.summary = split_test_validation.messages[0]
        else:
            validation.summary = self.general_validation_message(split_test_validation)
            validation.add_messages(split_test_validation)

        return validation
开发者ID:mrstephencollins,项目名称:edx-platform,代码行数:21,代码来源:split_test_module.py

示例7: validate

# 需要导入模块: from xmodule.validation import StudioValidation [as 别名]
# 或者: from xmodule.validation.StudioValidation import copy [as 别名]
    def validate(self):
        """
        Validates the state of this Library Content Module Instance. This
        is the override of the general XBlock method, and it will also ask
        its superclass to validate.
        """
        validation = super(LibraryContentDescriptor, self).validate()
        if not isinstance(validation, StudioValidation):
            validation = StudioValidation.copy(validation)
        library_tools = self.runtime.service(self, "library_tools")
        if not (library_tools and library_tools.can_use_library_content(self)):
            validation.set_summary(
                StudioValidationMessage(
                    StudioValidationMessage.ERROR,
                    _(
                        u"This course does not support content libraries. "
                        u"Contact your system administrator for more information."
                    )
                )
            )
            return validation
        if not self.source_library_id:
            validation.set_summary(
                StudioValidationMessage(
                    StudioValidationMessage.NOT_CONFIGURED,
                    _(u"A library has not yet been selected."),
                    action_class='edit-button',
                    action_label=_(u"Select a Library.")
                )
            )
            return validation
        lib_tools = self.runtime.service(self, 'library_tools')
        self._validate_library_version(validation, lib_tools, self.source_library_version, self.source_library_key)

        # Note: we assume refresh_children() has been called
        # since the last time fields like source_library_id or capa_types were changed.
        matching_children_count = len(self.children)  # pylint: disable=no-member
        if matching_children_count == 0:
            self._set_validation_error_if_empty(
                validation,
                StudioValidationMessage(
                    StudioValidationMessage.WARNING,
                    _(u'There are no matching problem types in the specified libraries.'),
                    action_class='edit-button',
                    action_label=_(u"Select another problem type.")
                )
            )

        if matching_children_count < self.max_count:
            self._set_validation_error_if_empty(
                validation,
                StudioValidationMessage(
                    StudioValidationMessage.WARNING,
                    (
                        ngettext(
                            u'The specified library is configured to fetch {count} problem, ',
                            u'The specified library is configured to fetch {count} problems, ',
                            self.max_count
                        ) +
                        ngettext(
                            u'but there is only {actual} matching problem.',
                            u'but there are only {actual} matching problems.',
                            matching_children_count
                        )
                    ).format(count=self.max_count, actual=matching_children_count),
                    action_class='edit-button',
                    action_label=_(u"Edit the library configuration.")
                )
            )

        return validation
开发者ID:Colin-Fredericks,项目名称:edx-platform,代码行数:73,代码来源:library_content_module.py

示例8: test_copy_errors

# 需要导入模块: from xmodule.validation import StudioValidation [as 别名]
# 或者: from xmodule.validation.StudioValidation import copy [as 别名]
 def test_copy_errors(self):
     with assert_raises(TypeError):
         StudioValidation.copy("foo")
开发者ID:luisvasq,项目名称:edx-platform,代码行数:5,代码来源:test_validation.py


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