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()
def total_pay_display(self): return currency(self.total_pay())
def bonus_display(self): """printable version of the bonus""" try: return currency(self.bonus()) except: return None