def handle_task(task): repeat = expect_one_of(task, "repeat", handle_repeat, (0,None)) t = Task(user = user, description = expect_one_of(task, "title"), priority = expect_one_of(task, "priority", handle_prio, 0), start_date = expect_one_of(task, "startdate", handle_date), due_date = expect_one_of(task, "duedate", handle_date), context = expect_one_of(task, "context", handle_context), repeat_nb = repeat[0], repeat_type = repeat[1], repeat_from_due_date = expect_boolean(task, "repeat_from_due_date"), done = expect_one_of(task, "completed", handle_completed, False), note = expect_one_of(task, "note"), ) t.save() return t