def draw(): participants_query = Participant.query() participants = participants_query.fetch() results = [] length = len(participants) while length > 0: index = random.randrange(length) results.append(participants[index]) del participants[index] length = len(participants) rs = ' -> '.join(str(p) for p in results) length = len(results) for i in range(0, length): result = results[i] giftee = '' if i == length - 1: giftee = results[0].name else: giftee = results[i+1].name draw_result = DrawResult(id=result.email, name=result.name, email=result.email, giftee=giftee) draw_result.put() mail.send_mail(sender="*****@*****.**", to=result.email, subject="#new-york Secret Santya", body='Hi %s,\n\nYour secret-santya giftee is %s!\n\nLove,\nSatya' % (result.name, giftee), html=""" <html><body> Hi %s,<br><br> Your secret-santya giftee is <b>%s</b>!<br><br> Love,<br> Satya </body></html> """ % (result.name, giftee)) template_values = { 'results': 'OK' } utils.fillTemplate(self.response, 'draw.html', template_values)