Ejemplo n.º 1
0
def print_assignment(hit_id):
    if hit_id == 'all':
        a = []
        for hit in mturk.list_hits()['HITs']:
            try:
                a.extend(
                    mturk.list_assignments_for_hit(HITId=hit['HITId']).get(
                        'Assignments', []))
            except Exception as e:
                print(e)
        pprint(a)
    else:
        pprint(
            mturk.list_assignments_for_hit(HITId=hit_id).get(
                'Assignments', []))
Ejemplo n.º 2
0
 def changelist_view(self, request, extra_context=None):
     # Update assignment statuses of any new assignments
     try:
         self.assignments = {
             assignment['AssignmentId']: assignment
             for hit in mturk.list_hits()['HITs']
             for assignment in mturk.list_assignments_for_hit(HITId=hit['HITId']).get('Assignments', [])
         }
         for obj in HIT.objects.filter(Q(data__has_key='hitId') &~ Q(data__has_key='status')):
             obj.data['status'] = self.assignments.get(obj.assignment_id, {}).get('AssignmentStatus', '')
             obj.save()
     except Exception as e:
         self.message_user(request, f'Unable to retrieve assignment statuses. {e}', messages.ERROR)
     return super().changelist_view(request, extra_context=None)