本文整理汇总了Python中oppia.models.Points.save方法的典型用法代码示例。如果您正苦于以下问题:Python Points.save方法的具体用法?Python Points.save怎么用?Python Points.save使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类oppia.models.Points
的用法示例。
在下文中一共展示了Points.save方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: signup_callback
# 需要导入模块: from oppia.models import Points [as 别名]
# 或者: from oppia.models.Points import save [as 别名]
def signup_callback(sender, **kwargs):
user = kwargs.get('instance')
created = kwargs.get('created')
if created:
p = Points()
p.points = settings.OPPIA_POINTS['REGISTER']
p.type = 'signup'
p.description = "Initial registration"
p.user = user
p.save()
return
示例2: badgeaward_callback
# 需要导入模块: from oppia.models import Points [as 别名]
# 或者: from oppia.models.Points import save [as 别名]
def badgeaward_callback(sender, **kwargs):
award = kwargs.get('instance')
if not apply_points(award.user):
return
p = Points()
p.points = award.badge.points
p.type = 'badgeawarded'
p.description = award.description
p.user = award.user
p.save()
return
示例3: tracker_callback
# 需要导入模块: from oppia.models import Points [as 别名]
# 或者: from oppia.models.Points import save [as 别名]
def tracker_callback(sender, **kwargs):
tracker = kwargs.get('instance')
description = None
print tracker.uuid
if not apply_points(tracker.user):
return
if tracker.course is not None and tracker.course.user == tracker.user and settings.OPPIA_COURSE_OWNERS_EARN_POINTS is False:
return
if tracker.event not in NON_ACTIVITY_EVENTS:
if not tracker.activity_exists():
return
type = 'activity_completed'
points = OPPIA_DEFAULT_POINTS['ACTIVITY_COMPLETED']
if tracker.get_activity_type() == "media":
description = "Media played: " + tracker.get_activity_title()
type = 'mediaplayed'
if tracker.is_first_tracker_today():
points = OPPIA_DEFAULT_POINTS['MEDIA_STARTED']
else:
points = 0
points += (OPPIA_DEFAULT_POINTS['MEDIA_PLAYING_POINTS_PER_INTERVAL'] * math.floor(tracker.time_taken / OPPIA_DEFAULT_POINTS['MEDIA_PLAYING_INTERVAL']))
if points > OPPIA_DEFAULT_POINTS['MEDIA_MAX_POINTS']:
points = OPPIA_DEFAULT_POINTS['MEDIA_MAX_POINTS']
else:
description = "Activity completed: " + tracker.get_activity_title()
if tracker.points is not None:
points = tracker.points
type = tracker.event
if not description:
description = tracker.event
else:
if tracker.get_activity_type() is not "media":
if not tracker.is_first_tracker_today():
return
if not tracker.completed:
return
p = Points()
p.points = points
p.type = type
p.description = description
p.user = tracker.user
p.course = tracker.course
p.save()
return
示例4: badgeaward_callback
# 需要导入模块: from oppia.models import Points [as 别名]
# 或者: from oppia.models.Points import save [as 别名]
def badgeaward_callback(sender, **kwargs):
award = kwargs.get('instance')
# check not superuser
if award.user.is_superuser:
return
p = Points()
p.points = award.badge.points
p.type = 'badgeawarded'
p.description = award.description
p.user = award.user
p.save()
return
示例5: createquiz_callback
# 需要导入模块: from oppia.models import Points [as 别名]
# 或者: from oppia.models.Points import save [as 别名]
def createquiz_callback(sender, **kwargs):
quiz = kwargs.get('instance')
created = kwargs.get('created')
if not apply_points(quiz.owner):
return
if created:
p = Points()
p.points = settings.OPPIA_POINTS['QUIZ_CREATED']
p.type = 'quizcreated'
p.description = "Quiz created: " + quiz.title
p.user = quiz.owner
p.save()
return
示例6: tracker_callback
# 需要导入模块: from oppia.models import Points [as 别名]
# 或者: from oppia.models.Points import save [as 别名]
def tracker_callback(sender, **kwargs):
tracker = kwargs.get('instance')
if not apply_points(tracker.user):
return
if not tracker.activity_exists():
return
if tracker.course is not None and tracker.course.user == tracker.user and settings.OPPIA_COURSE_OWNERS_EARN_POINTS is False:
return
cohort_teacher = Cohort.teacher_member_now(tracker.course, tracker.user)
if cohort_teacher is not None and settings.OPPIA_TEACHERS_EARN_POINTS is False:
return
if tracker.get_activity_type() is not "media":
if not tracker.is_first_tracker_today():
return
if not tracker.completed:
return
type = 'activitycompleted'
points = settings.OPPIA_POINTS['ACTIVITY_COMPLETED']
if tracker.get_activity_type() == "media":
description = "Media played: " + tracker.get_activity_title()
type = 'mediaplayed'
if tracker.is_first_tracker_today():
points = settings.OPPIA_POINTS['MEDIA_STARTED']
else:
points = 0
points = (settings.OPPIA_POINTS['MEDIA_PLAYING_POINTS_PER_INTERVAL'] * math.floor(tracker.time_taken/settings.OPPIA_POINTS['MEDIA_PLAYING_INTERVAL']))
if points > settings.OPPIA_POINTS['MEDIA_MAX_POINTS']:
points = settings.OPPIA_POINTS['MEDIA_MAX_POINTS']
else:
description = "Activity completed: " + tracker.activity_title
p = Points()
p.points = points
p.type = type
p.description = description
p.user = tracker.user
p.course = tracker.course
p.cohort = Cohort.student_member_now(tracker.course,tracker.user)
p.save()
# @TODO test if tracker submitted on time
return
示例7: createquiz_callback
# 需要导入模块: from oppia.models import Points [as 别名]
# 或者: from oppia.models.Points import save [as 别名]
def createquiz_callback(sender, **kwargs):
warnings.warn(
"oppia.signals.createquiz_callback() is deprecated and will be removed in Oppia server 0.11.0.",
RemovedInOppia0110Warning, 2)
quiz = kwargs.get('instance')
created = kwargs.get('created')
if not apply_points(quiz.owner):
return
if created:
p = Points()
p.points = OPPIA_DEFAULT_POINTS['QUIZ_CREATED']
p.type = 'quizcreated'
p.description = "Quiz created: " + quiz.title
p.user = quiz.owner
p.save()
return
示例8: course_download_callback
# 需要导入模块: from oppia.models import Points [as 别名]
# 或者: from oppia.models.Points import save [as 别名]
def course_download_callback(sender, **kwargs):
user = kwargs.get('user')
course = kwargs.get('course')
if not apply_points(user):
return
if course.user == user and settings.OPPIA_COURSE_OWNERS_EARN_POINTS is False:
return
if not course.is_first_download(user):
return
p = Points()
p.points = settings.OPPIA_POINTS['COURSE_DOWNLOADED']
p.type = 'coursedownloaded'
p.description = "Course downloaded: " + course.get_title()
p.user = user
p.course = course
p.save()
return
示例9: course_download_callback
# 需要导入模块: from oppia.models import Points [as 别名]
# 或者: from oppia.models.Points import save [as 别名]
def course_download_callback(sender, **kwargs):
user = kwargs.get('user')
course = kwargs.get('course')
# check not superuser
if user.is_superuser:
return
if not course.is_first_download(user):
return
p = Points()
p.points = settings.OPPIA_POINTS['COURSE_DOWNLOADED']
p.type = 'coursedownloaded'
p.description = "Course downloaded: " + course.get_title()
p.user = user
p.course = course
p.cohort = Cohort.student_member_now(course,user)
p.save()
return
示例10: course_download_callback
# 需要导入模块: from oppia.models import Points [as 别名]
# 或者: from oppia.models.Points import save [as 别名]
def course_download_callback(sender, **kwargs):
warnings.warn(
"oppia.signals.course_download_callback() is deprecated and will be removed in Oppia server 0.11.0.",
RemovedInOppia0110Warning, 2)
user = kwargs.get('user')
course = kwargs.get('course')
if not apply_points(user):
return
if course.user == user and settings.OPPIA_COURSE_OWNERS_EARN_POINTS is False:
return
if not course.is_first_download(user):
return
p = Points()
p.points = OPPIA_DEFAULT_POINTS['COURSE_DOWNLOADED']
p.type = 'coursedownloaded'
p.description = "Course downloaded: " + course.get_title()
p.user = user
p.course = course
p.save()
return
示例11: tracker_callback
# 需要导入模块: from oppia.models import Points [as 别名]
# 或者: from oppia.models.Points import save [as 别名]
def tracker_callback(sender, **kwargs):
tracker = kwargs.get('instance')
# check not superuser
if tracker.user.is_superuser:
return
if not tracker.is_first_tracker_today():
return
if not tracker.activity_exists():
return
if not tracker.completed:
return
type = 'activitycompleted'
points = settings.OPPIA_POINTS['ACTIVITY_COMPLETED']
if tracker.get_activity_type() == "media":
description = "Media played: " + tracker.get_activity_title()
type = 'mediaplayed'
points = settings.OPPIA_POINTS['MEDIA_PLAYED']
else:
description = "Activity completed: " + tracker.get_activity_title()
p = Points()
p.points = points
p.type = type
p.description = description
p.user = tracker.user
p.course = tracker.course
p.cohort = Cohort.student_member_now(tracker.course,tracker.user)
p.save()
# test if tracker submitted on time
return
示例12: quizattempt_callback
# 需要导入模块: from oppia.models import Points [as 别名]
# 或者: from oppia.models.Points import save [as 别名]
def quizattempt_callback(sender, **kwargs):
quiz_attempt = kwargs.get('instance')
quiz = quiz_attempt.quiz
# find out if this quiz is part of a course
course = None
digest = quiz_attempt.get_quiz_digest()
if digest is not None:
# TODO - what are chances of 2 courses having the exact same activity? and what to do if they do?
acts = Activity.objects.filter(digest=digest)
for a in acts:
course = a.section.course
if quiz_attempt.points is not None:
p = Points()
p.points = quiz_attempt.points
p.type = 'quiz_attempt'
p.user = quiz_attempt.user
p.description = quiz_attempt.event
p.course = course
# Points are sent in the quiz attempt tracker, so don't save them twice
# p.save()
return
# Check user doesn't own the quiz
if quiz.owner == quiz_attempt.user:
return
if not apply_points(quiz_attempt.user):
return
# find out is user is part of the cohort for this course
if course is not None and course.user == quiz_attempt.user and settings.OPPIA_COURSE_OWNERS_EARN_POINTS is False:
return
if quiz_attempt.is_first_attempt():
# If it's the first time they've attempted this quiz award points
p = Points()
p.points = OPPIA_DEFAULT_POINTS['QUIZ_FIRST_ATTEMPT']
p.type = 'firstattempt'
p.user = quiz_attempt.user
p.description = "Bonus points for your first attempt at: " + quiz.title
p.course = course
p.save()
# add percentage points for their first attempt
if quiz_attempt.get_score_percent() > 0:
p = Points()
p.points = quiz_attempt.get_score_percent()
p.type = 'firstattemptscore'
p.description = "Score for first attempt at quiz: " + quiz.title
p.user = quiz_attempt.user
p.course = course
p.save()
# if you get 100% on first attempt get bonus of 50 points
if quiz_attempt.get_score_percent() >= OPPIA_DEFAULT_POINTS['QUIZ_FIRST_ATTEMPT_THRESHOLD']:
p = Points()
p.points = OPPIA_DEFAULT_POINTS['QUIZ_FIRST_ATTEMPT_BONUS']
p.type = 'firstattemptbonus'
p.description = "Bonus points for getting 100% in first attempt at quiz: " + quiz.title
p.user = quiz_attempt.user
p.course = course
p.save()
elif quiz_attempt.is_first_attempt_today():
# If it's the first time today they've attempted this quiz award 10 points
p = Points()
p.points = OPPIA_DEFAULT_POINTS['QUIZ_ATTEMPT']
p.type = 'quizattempt'
p.user = quiz_attempt.user
p.description = "Quiz attempt at: " + quiz.title
p.course = course
p.save()
return
示例13: quizattempt_callback
# 需要导入模块: from oppia.models import Points [as 别名]
# 或者: from oppia.models.Points import save [as 别名]
def quizattempt_callback(sender, **kwargs):
quiz_attempt = kwargs.get('instance')
# Check user doesn't own the quiz
quiz = quiz_attempt.quiz
if quiz.owner == quiz_attempt.user:
return
# give points to quiz owner
if quiz_attempt.is_first_attempt_today() and not quiz.owner.is_superuser:
p = Points()
p.points = settings.OPPIA_POINTS['QUIZ_ATTEMPT_OWNER']
p.user = quiz.owner
p.type = 'userquizattempt'
p.description = quiz_attempt.user.username + " attempted your quiz: " + quiz.title
p.save()
# check not superuser
if quiz_attempt.user.is_superuser:
return
# find out if this quiz is part of a course
course = None
digest = quiz_attempt.get_quiz_digest()
if digest is not None:
# TODO - what are chances of 2 courses having the exact same activity? and what to do if they do?
acts = Activity.objects.filter(digest=digest)
for a in acts:
course = a.section.course
# find out is user is part of the cohort for this course
cohort = None
if course is not None:
cohort = Cohort.student_member_now(course,quiz_attempt.user)
if quiz_attempt.is_first_attempt():
# If it's the first time they've attempted this quiz award points
p = Points()
p.points = settings.OPPIA_POINTS['QUIZ_FIRST_ATTEMPT']
p.type = 'firstattempt'
p.user = quiz_attempt.user
p.description = "Bonus points for your first attempt at: " + quiz.title
p.course = course
p.cohort = cohort
p.save()
# add percentage points for their first attempt
if quiz_attempt.get_score_percent() > 0:
p = Points()
p.points = quiz_attempt.get_score_percent()
p.type = 'firstattemptscore'
p.description = "Score for first attempt at quiz: " + quiz.title
p.user = quiz_attempt.user
p.course = course
p.cohort = cohort
p.save()
# if you get 100% on first attempt get bonus of 50 points
if quiz_attempt.get_score_percent() >= settings.OPPIA_POINTS['QUIZ_FIRST_ATTEMPT_THRESHOLD']:
p = Points()
p.points = settings.OPPIA_POINTS['QUIZ_FIRST_ATTEMPT_BONUS']
p.type = 'firstattemptbonus'
p.description = "Bonus points for getting 100% in first attempt at quiz: " + quiz.title
p.user = quiz_attempt.user
p.course = course
p.cohort = cohort
p.save()
elif quiz_attempt.is_first_attempt_today():
# If it's the first time today they've attempted this quiz award 10 points
p = Points()
p.points = settings.OPPIA_POINTS['QUIZ_ATTEMPT']
p.type = 'quizattempt'
p.user = quiz_attempt.user
p.description = "Quiz attempt at: " + quiz.title
p.course = course
p.cohort = cohort
p.save()
return