使用taskwarrior和timewarrior的pomodoro技术
pomw的Python项目详细描述
pomodorowarrior
与taskwarrior和timewarrior集成以实现pomodoro技术的命令行工具。
配置
配置文件位于$HOME/.config/pomw/pomwrc
TimeWarrior集成
波莫多罗瓦雷奥的目标是和时间战士打得很好。默认情况下,pomodorowarrior创建的所有间隔也将在timewarrior中更新。要更改默认值,请将以下部分添加到配置文件中:
[timew]sync=false
pomodoro长度
pomodoro长度也可配置。默认长度为25分钟。
[pomw]length=30
命令行界面
pomodorowarrior使用的命令行界面类似于taskwarrior和timewarrior。
命令可以引用taskwarrior任务id和pomodorowarrior间隔id。为了明确区分,我们强制间隔id前面加上@
符号。
这些命令可以分为两类。那些处理pomodoros的,和那些处理一般时间间隔的。
工作流示例
早上的第一件事,我们就为今天的活动做准备。我们查看任务战士任务列表。
$ task next
ID Age P Project Tag Due Description Urg
1 6w M pomw 2d Create documentation for pomw 10
2 6w M python 1w Find the holy grail 8
我们决定计划用5个pomodoros来编写此文档
$ pomw plan -q 41# Plan 4 pomodoros for task 1
我们查看今天的待办事项表
$ pomw tdt # Print the To Do Today sheet
To Do Today 2019-03-21
----------- ----------
┌─┐┌─┐┌─┐┌─┐
1 Create documentation for pomw │ ││ ││ ││ │
└─┘└─┘└─┘└─┘
哦,我们想要5个波莫多罗斯,但我们只计划了4个。我们现在有两个选项,我们可以覆盖计划的pomodoros的数量
$ pomw plan -q 51# Plan 5 pomodoros for task 1
或将更多的POMODOROS添加到现有计划的POMODROSOS
$ pomw plan -q +1 1# Increment the planned pomodoros for task 1 by 1
我们再次检查TDT表,一切正常!
To Do Today 2019-03-21
----------- ----------
┌─┐┌─┐┌─┐┌─┐┌─┐
1 Create documentation for pomw │ ││ ││ ││ ││ │
└─┘└─┘└─┘└─┘└─┘
由于我们无法使用pomodoros找到圣杯,因此我们将使用(非pomodoro)时间间隔来添加用于此任务的时间。
我们今天的待办事项表看起来不错,我们开始制作第一个pomodoro。
在工作了几分钟之后,我们开始梦见格温维尔夫人,在我们意识到10分钟过去之前。因为我们相信严格遵循pomodoro技术,所以我们取消了pomodoro。
$ pomw void 1# Void the current pomodoro for task 1
我们的TDT表反映了空隙的pomodoro
To Do Today 2019-03-21
----------- ----------
┌─┐┌─┐┌─┐┌─┐┌─┐
1 Create documentation for pomw │/││ ││ ││ ││ │
└─┘└─┘└─┘└─┘└─┘
在我们的第二次尝试中,我们完成了一个pomodoro。一旦它响了,我们就把波莫多罗标记为完成。
$ pomw done1# Complete a pomodoro for task 1
To Do Today 2019-03-21
----------- ----------
┌─┐┌─┐┌─┐┌─┐┌─┐
1 Create documentation for pomw │/││x││ ││ ││ │
└─┘└─┘└─┘└─┘└─┘
--------
00:25:00
我们在寻找圣杯。一个小时后,我们放弃小睡。我们将时间记录为间隔
$ pomw add -d 602# Add a 60 minute time interval for task 2
To Do Today 2019-03-21
----------- ----------
┌─┐┌─┐┌─┐┌─┐┌─┐
1 Create documentation for pomw │/││x││ ││ ││ │
└─┘└─┘└─┘└─┘└─┘
-------
0:25:00
Non Pomodoro Time
-----------------
2 Find the holy grail 1:00:00
-------
1:00:00
亚瑟王只支付我们50分钟的时间,所以我们修改了时间间隔
$ pomw ls # Lists the time intervals contained in the database
ID Type Date Start End Project Task
@1 NonPom 2019-03-21 13:43:32 14:43:32 python Find the holy grail
@2 Pom 2019-03-21 13:15:17 13:40:17 pomw Create documentation for pomw
从清单中,我们看到需要修改间隔@1
。我们将新的结束时间设置为14:33:32
$ pomw mod -e 14:33:32 @1 # Modify interval @1, set new end time as 14:33:32
ID Type Date Start End Project Task
@1 NonPom 2019-03-21 13:43:32 14:33:32 python Find the holy grail
@2 Pom 2019-03-21 13:15:17 13:40:17 pomw Create documentation for pomw
亚瑟王不会为我们的文档创作工作买单。我们在间隔@2
删除pomodoro。
$ pomw rm @2 # Delete interval @2
ID Type Date Start End Project Task
@1 NonPom 2019-03-21 13:43:32 14:33:32 python Find the holy grail
希望这给了你一个(不太混乱)介绍的权力,波莫多洛瓦里尔。
比本例中所示的命令行参数多得多。对任何命令使用--help
选项来了解其完整用法。
警告
TimeWarrior间隔没有唯一的ID,因此,pomodorowarrior将间隔匹配到开始和结束时间。
如果直接使用timewarrior修改间隔,则数据库之间该间隔的链接将丢失。
pomodorowarrior试图优雅地处理这种情况,但建议您使用pomodorowarrior修改任何间隔,以保持数据库同步。
开发
构建系统
从0.0.3
版本开始,我们将setuptools替换为poetry。
poetry与PEP 518兼容,并使用pyproject.toml
进行配置。在我看来,它提供了一个更简单的开发经验。
poetry建议您将其与系统的其他部分隔离安装。这可以通过运行安装脚本来完成:
curl -sSL https://raw.githubusercontent.com/sdispater/poetry/master/get-poetry.py | python
释放
脚本./release.py
已经开发为自动化切割释放。它需要git-extras安装在您的系统上。
如果要手动创建发行版,必须遵循以下规则:
- 仅从
master
释放
- 用新版本号更新
pomw/__version__.py
- 用新版本号更新
pyproject.toml
- 使用自上一版本以来的提交更新
Changelog
上传一个版本到pypi
创建标记并将其推送到gitlab后,gitlab ci发布阶段会自动将版本上载到pypi。