def post(self): course = self.request.get('course') try: data = json.loads(self.request.get('data')) except ValueError: data = None if not course or not data: return self.response.set_status(202) # Create Evals if data['instructor']: for ta in data['tas']: Eval.create(course, ta, data['instructor']) data['instructor'] = None # Create Invites tas = [ta['name'] for ta in data['tas']] for student in data['students'][:]: try: EvalInvite.create(course, student, tas) except DeadlineExceededError: # Need to test this data = json.dumps(data) taskqueue.add(url='/admin/init', params={'course': course, 'data': data}) return self.response.set_status(200) data['students'].remove(student) return self.response.set_status(201)