Exemplo n.º 1
0
def get_personalized_data(key):
  user = User.get(key)

  todo_query = TodoItem.indexLookup("assigned_to_bin", key)
  todos = []
  now = datetime.now()
  for todo in todo_query.run():
    print todo.done
    if not todo.done:
      t = {"title" : todo.title, "desc" : todo.desc["html"]}
      if todo.duedate:
        t["time_remaining"] = (todo.duedate - now).total_seconds()
      else:
        t["time_remaining"] = None

      todos.append(t)

  todos.sort(key=lambda x: x["time_remaining"])

  user_json = {
    "projects" : get_user_projects_with_simple(user),
    "todos" : todos,
    "name" : user.name
  }

  return user_json
Exemplo n.º 2
0
def get_todo_item_with_2i(field, value, simple=False):
  items_queries = TodoItem.indexLookup(field, value)
  items = [] # could probably simplify with an integer counter on where each sections are and insert.
  done_items = []
  no_duedate = []
  list_to_append_to = items
  for item in items_queries.run():
    if item.done:
      list_to_append_to = done_items
    elif not item.duedate:
      list_to_append_to = no_duedate
    else:
      list_to_append_to = items

    if simple:
      list_to_append_to.append(todo_to_json_simple(item))
    else:
      list_to_append_to.append(todo_to_json(item))

  items.sort(key=lambda x: x["duedate"])
  done_items.sort(key=lambda x:["duedate"])
  items = items + no_duedate + done_items
  items.reverse()
  return items