taskwarrior数据库的python绑定
taskw的Python项目详细描述
这是用于taskwarrior命令的python api 线工具。
它包含两个实现:taskw.TaskWarriorShellout和 taskw.TaskWarriorDirect。第一个实现是受支持的 由上游任务战士核心项目推荐。它使用task export和task import命令来操作任务数据库。这个 第二个实现打开task db文件本身并直接操作 IT它存在向后兼容性,但只在 必要的。
获取任务w
来源
您可以在github上的http://github.com/ralphbean/taskw
示例
查看任务
>>> from taskw import TaskWarrior >>> w = TaskWarrior() >>> tasks = w.load_tasks() >>> tasks.keys() ['completed', 'pending'] >>> type(tasks['pending']) <type 'list'> >>> type(tasks['pending'][0]) <type 'dict'>
添加任务
>>> from taskw import TaskWarrior >>> w = TaskWarrior() >>> w.task_add("Eat food") >>> w.task_add("Take a nap", priority="H", project="life", due="1359090000")
检索任务
>>> from taskw import TaskWarrior >>> w = TaskWarrior() >>> w.get_task(id=5)
更新任务
>>> from taskw import TaskWarrior >>> w = TaskWarrior() >>> id, task = w.get_task(id=14) >>> task['project'] = 'Updated project name' >>> w.task_update(task)
删除任务
>>> from taskw import TaskWarrior >>> w = TaskWarrior() >>> w.task_delete(id=3)
完成任务
>>> from taskw import TaskWarrior >>> w = TaskWarrior() >>> w.task_done(id=46)
灵活< EH3>
您可以将taskw指向不同的taskwarrior数据库。
>>> from taskw import TaskWarrior >>> w = TaskWarrior(config_filename="~/some_project/.taskrc") >>> w.task_add("Use 'taskw'.")
查看配置
>>> from taskw import TaskWarrior >>> w = TaskWarrior() >>> config = w.load_config() >>> config['data']['location'] '/home/threebean/.task' >>> config['_forcecolor'] 'yes'
使用适合python的类型(日期、uuid等)
>>> from taskw import TaskWarrior >>> w = TaskWarrior(marshal=True) >>> w.get_task(id=10) (10, { 'description': 'Hello there!', 'entry': datetime.datetime(2014, 3, 14, 14, 18, 40, tzinfo=tzutc()) 'id': 10, 'project': 'Saying Hello', 'status': 'pending', 'uuid': UUID('4882751a-3966-4439-9675-948b1152895c') } )