def import_todo_items(contents): new_todos = [] for t in contents: new_todos.append(parse_todo_text(t)) for t in new_todos: smartcontent.process_todo(t) datastore.instance.append_todo_list(new_todos) return {'imported': len(new_todos)}
def import_worker(work_q, done_q): while True: content = work_q.get() try: todo = parse_todo_text(content) smartcontent.process_todo(todo) done_q.put(todo) except: pass work_q.task_done()
def update_todo(_id, values): todos = get_todo_list() if len(todos) > 0 and len(_id) > 0: for t in todos: if str(t['id']) == _id: for key in values: t[key] = values[key] if key == 'title': smartcontent.process_todo(t) todo = t break if 'update_todo' in datastore.instance.get_features(): datastore.instance.update_todo(todo) else: datastore.instance.save_todo_list(todos)
def save_todo(raw_task, silent=False): newtodo = parse_todo_text(raw_task) task = newtodo['title'] tag = newtodo['group'] if len(task) == 0: return smartcontent.process_todo(newtodo) datastore.instance.save_todo(newtodo) if not silent: if tag != 'default': print ("Added '" + task + "' tagged #" + tag).encode('utf-8') else: print ("Added '" + task + "'").encode('utf-8') config.put(ck.KEY_USER_QUERY_NOITEMPREFIX, '') config.update_state(command='add_todo', tag='#'+tag)