freeze_final_grades.py 文件源码

python
阅读 18 收藏 0 点赞 0 评论 0

项目:micromasters 作者: mitodl 项目源码 文件源码
def handle(self, *args, **kwargs):  # pylint: disable=unused-argument
        edx_course_key = kwargs.get('edx_course_key')
        try:
            run = CourseRun.objects.get(edx_course_key=edx_course_key)
        except CourseRun.DoesNotExist:
            raise CommandError('Course Run for course_id "{}" does not exist'.format(edx_course_key))
        try:
            can_freeze = run.can_freeze_grades
        except ImproperlyConfigured:
            raise CommandError('Course Run for course_id "{}" is missing the freeze date'.format(edx_course_key))
        if not can_freeze:
            raise CommandError('Course Run for course_id "{}" cannot be frozen yet'.format(edx_course_key))
        if CourseRunGradingStatus.is_complete(run):
            self.stdout.write(
                self.style.SUCCESS(
                    'Final grades for course "{0}" are already complete'.format(edx_course_key)
                )
            )
            return

        freeze_course_run_final_grades.delay(run.id)
        self.stdout.write(
            self.style.SUCCESS(
                'Successfully submitted async task to freeze final grades for course "{0}"'.format(edx_course_key)
            )
        )
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号