예제 #1
0
    def pay_hit_bonuses(self, is_confirmed):

        total_money_paid = 0
        for participant in self.experiment.participants():
            bonus = participant.safe_bonus()
            if bonus == None:
                bonus = 0
            total_money_paid += bonus

            if not is_confirmed:
                print 'Participant {}: {}'.format(participant.id, currency(bonus))
            if is_confirmed:
                if bonus > 0:
                    print bonus, Price(cents_to_dollars(bonus))
                    self.connection.grant_bonus(worker_id=participant.mturk_worker_id,
                                     assignment_id=participant.mturk_assignment_id,
                                     bonus_price = Price(cents_to_dollars(bonus)),
                                     reason='Thanks!')
        if not is_confirmed:
            print 'Total amount to pay: {}'.format(currency(total_money_paid))
        if is_confirmed:
            print 'Total amount paid: {}'.format(currency(total_money_paid))
            self.experiment.payment_was_sent = True
            self.experiment.save()
예제 #2
0
 def total_pay_display(self):
     return currency(self.total_pay())
예제 #3
0
 def bonus_display(self):
     """printable version of the bonus"""
     try:
         return currency(self.bonus())
     except:
         return None