def post(self): workout_title = self.request.get("workout") new_workout = Workout(parent = PARENT_KEY, title = workout_title) new_workout.put() arguments = self.request.arguments() exercises = [ {} for i in range( utils.findLength(arguments) ) ] print exercises for argu in arguments: if str(argu) != 'workout': num = utils.findPosition(argu) if utils.is_time(argu): exercises[num]['time'] = int(self.request.get(argu)) if utils.is_rest(argu): exercises[num]['rest'] = int(self.request.get(argu)) if utils.is_name(argu): exercises[num]['name'] = str(self.request.get(argu)) print exercises for counter, exercise in enumerate(exercises): ## Needs to be ordered print counter print exercise new_exercise = Exercise(parent = PARENT_KEY, name = exercise['name'], time = exercise['time'], rest = exercise['rest'], workout_title = workout_title, order = counter) new_exercise.put() self.redirect('/home')
def post(self): upload_files = self.get_uploads() used_methods = list() for method in test_methods: if self.request.get(method): used_methods.append(method) inputs = list() for i in string.replace(self.request.get('test_input'), '\r', '').split(';'): inputs.append(db.Text(i)) outputs = list() for o in string.replace(self.request.get('output'), '\r', '').split(';'): outputs.append(db.Text(o)) if len(inputs) != len(outputs): self.write("Error: Number of inputs did not match number of outputs.") else: keywords = string.replace(self.request.get('keywords'), '\r', '').split(';') checker = ExerciseChecker( test_methods=used_methods, inputs=inputs, outputs=outputs, keywords=keywords) checker.put() start_code=string.replace(self.request.get('start_code'), '\r', '') description = self.request.get('description') description = string.replace(description, '\r', '') description = string.replace(description, '\n', '<br>') exercise = Exercise(name=self.request.get('name'), url=self.request.get('url'), description=description, start_code=start_code, checker=checker) if len(upload_files): exercise.flowchart = upload_files[0].key() exercise.put() time.sleep(5) self.redirect('/exercises/'+exercise.url)