def handle(self, *args, **options): help = "Command to creaete or update social engagement entries" option_list = BaseCommand.option_list + ( make_option( "-c", "--course_ids", dest="course_ids", help="List of courses for which to generate social engagement", metavar="first/course/id,second/course/id" ), make_option( "-u", "--user_ids", dest="user_ids", help="List of users for which to generate social engagement", metavar="1234,2468,3579" ), ) course_ids = options.get('course_ids') user_ids = options.get('user_ids') if course_ids: # over a few specific courses? for course_id in course_ids: if user_ids: # over a few specific users in those courses? for user_id in user_ids: update_user_engagement_score(course_id, user_id, compute_if_closed_course=True) else: update_course_engagement_scores(course_id, compute_if_closed_course=True) else: print 'Updating social engagement scores in all courses...' update_all_courses_engagement_scores(compute_if_closed_course=True)
def test_calc_course(self): """ Verifies that we can calculate the whole course enrollments """ with patch('social_engagement.engagement._get_user_social_stats') as mock_func: mock_func.return_value = { 'num_threads': 1, 'num_comments': 1, 'num_replies': 1, 'num_upvotes': 1, 'num_thread_followers': 1, 'num_comments_generated': 1, } # update whole course and re-calc update_course_engagement_scores(self.course.id) leaderboard = StudentSocialEngagementScore.generate_leaderboard(self.course.id) self.assertEqual(len(leaderboard), 2)
def test_calc_course(self): """ Verifies that we can calculate the whole course enrollments """ with patch('social_engagement.engagement._get_user_social_stats' ) as mock_func: mock_func.return_value = { 'num_threads': 1, 'num_comments': 1, 'num_replies': 1, 'num_upvotes': 1, 'num_thread_followers': 1, 'num_comments_generated': 1, } # update whole course and re-calc update_course_engagement_scores(self.course.id) course_avg, enrollment_count, leaderboard = StudentSocialEngagementScore.generate_leaderboard( self.course.id) self.assertEqual(len(leaderboard), 2)