def remove_user_from_hit(sender, instance, **kwargs): """ Removes user from list of users who have completed corresponding HIT. """ hit = instance.item.hit user = instance.user LOGGER.debug('Removing user "{0}" from HIT {1}'.format(user, hit)) hit.users.remove(user) from appraise.wmt16.views import _compute_next_task_for_user _compute_next_task_for_user(user, hit.language_pair)
def update_user_hit_mappings(sender, instance, created, **kwargs): """ Updates the User/HIT mappings. """ hit = instance.item.hit user = instance.user results = RankingResult.objects.filter(user=user, item__hit=hit) if len(results) > 2: LOGGER.debug('Deleting stale User/HIT mapping {0}->{1}'.format( user, hit)) hit.users.add(user) UserHITMapping.objects.filter(user=user, hit=hit).delete() from appraise.wmt16.views import _compute_next_task_for_user _compute_next_task_for_user(user, hit.language_pair)
def remove_user_from_hit(sender, instance, **kwargs): """ Removes user from list of users who have completed corresponding HIT. """ user = instance.user try: hit = instance.item.hit LOGGER.debug('Removing user "{0}" from HIT {1}'.format(user, hit)) hit.users.remove(user) from appraise.wmt16.views import _compute_next_task_for_user _compute_next_task_for_user(user, hit.project, hit.language_pair) except (HIT.DoesNotExist, RankingTask.DoesNotExist): pass
def update_user_hit_mappings(sender, instance, created, **kwargs): """ Updates the User/Project/HIT mappings. """ hit = instance.item.hit user = instance.user results = RankingResult.objects.filter(user=user, item__hit=hit) if len(results) > 2: from appraise.wmt16.views import _compute_next_task_for_user LOGGER.debug('Deleting stale User/HIT mapping {0}->{1}'.format( user, hit)) hit.users.add(user) for project in hit.project_set.all(): UserHITMapping.objects.filter(user=user, project=project, hit=hit).delete() _compute_next_task_for_user(user, project, hit.language_pair)