Ejemplo n.º 1
0
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"
Ejemplo n.º 2
0
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]
Ejemplo n.º 3
0
    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",
        })
Ejemplo n.º 4
0
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]
Ejemplo n.º 5
0
def get_score():
    user = users.get_current_user()
    user_info = UserInfo.get(user)
    return user_info.score
Ejemplo n.º 6
0
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)
Ejemplo n.º 7
0
@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)