def set_limit(limit): user = users.get_current_user() user_info = UserInfo.get(user) try: user_info.daily_limit = int(limit) except ValueError: user_info.daily_limit = None user_info.save() return user_info.daily_limit if user_info.daily_limit is not None else "Infinity"
def did_task(item_id): user = users.get_current_user() users_list = ToDoList(user.nickname(), db) users_list.remove_item(item_id) user_info = UserInfo.get(user) new_points = random.randint(0, 1) while random.randint(1, 5) > 3 and new_points < 20: new_points *= 2 new_points += random.randint(0, 3) user_info.score += new_points user_info.save() return [users_list.get_top_item(user_info.daily_limit), user_info.score]
def get(self): user = users.get_current_user() if user is None: return self.redirect(users.create_login_url(self.request.uri)) user_info = UserInfo.get(user) username = user.nickname() logout_url = users.create_logout_url(self.request.uri) self.render('index.html', { 'logout_url': logout_url, 'username': username, 'daily_limit': user_info.daily_limit if user_info.daily_limit is not None else "Infinity", })
def get_next_task_and_score(): user = users.get_current_user() user_info = UserInfo.get(user) users_list = ToDoList(user.nickname(), db) user_info = UserInfo.get(user) return [users_list.get_top_item(user_info.daily_limit), user_info.score]
def get_score(): user = users.get_current_user() user_info = UserInfo.get(user) return user_info.score
def delay_task(item_id): user = users.get_current_user() users_list = ToDoList(user.nickname(), db) users_list.delay_item(item_id) user_info = UserInfo.get(user) return users_list.get_top_item(user_info.daily_limit)
@api def add_task(todo): user = users.get_current_user() users_list = ToDoList(user.nickname(), db) try: users_list.insert(todo) except AmbiguousUrgencyExeption, e: return { 'success': False, 'newthing': todo, 'benchmark': { 'task': e.benchmark.task, 'urgency': e.benchmark.urgency, }, } user_info = UserInfo.get(user) return { 'success': True, 'top_item': users_list.get_top_item(user_info.daily_limit), } class ApiRequestHandler(webapp.RequestHandler): def post(self, func=None): self.response.headers['Content-Type'] = "application/json; charset=utf-8" response = self.request.get('args', '[]') args = json.loads(response) if func in api_funcs: response = json.dumps(api_funcs[func](*args)) # kwargs = self.request.get('kwargs') # self.response.out.write(json.dumps(args[0] * args[1])) self.response.out.write(response)