taskwarrior数据库的python绑定

taskw的Python项目详细描述


这是用于taskwarrior命令的python api 线工具。

它包含两个实现:taskw.TaskWarriorShellouttaskw.TaskWarriorDirect。第一个实现是受支持的 由上游任务战士核心项目推荐。它使用task exporttask import命令来操作任务数据库。这个 第二个实现打开task db文件本身并直接操作 IT它存在向后兼容性,但只在 必要的。

生成状态

BranchStatus
masterBuild Status - master branch
developBuild Status - develop branch

获取任务w

安装

使用taskw需要首先安装taskwarrior

使用pip

$ pip install taskw

来源

您可以在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')
 }
)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java LineNumberReader。如果查询行为不正确,则返回readLine()   java包含了一个使用AndroidX的工具栏,这让我的应用程序崩溃了   JVM设置通过“java jar”运行应用程序的最佳实践   java如何获取ImageButton宽度   java Oracle SQLLDR实用程序无响应   列出Java获取对象的arrayList中最常见的元素   java使用带有FlowLayout的getContentpane对布局应用更改,但不起作用为什么?   在java中,我可以在画布上绘制画布吗?   编译游戏代码时发生java异常错误   从firestore获取java Webview失败   java将TableLayout中单元格的内容向右对齐   java无法在发布模式下启动活动(使用proguard安卓optimize配置)   java允许在线程期间进行GUI更新。睡觉   java如何对以变量为列表的列表进行排序   API URL上的java Google云端点异常