1个不稳定发布版
使用旧的Rust 2015
| 0.3.0 | 2017年8月25日 |
|---|
#66 in #imag
200KB
3.5K SLoC
libimagtimetrack
用于在imag存储中跟踪时间事件的库。
存储格式
事件以存储ID存储,如下所示
/timetrack/<insert-date-year>/<insert-date-month>/<insert-date-day>/<insert-date-time>-<tag>.ext
时间跟踪包含
- 一条注释(可选,自由文本)
- 开始日期
- 结束日期
- 一个标签
默认情况下,并且可以扩展更多标题字段,如所愿。
时间跟踪“工作”条目的头部看起来像这样
[event]
tag = "work"
start = "2017-01-02T03:04:05"
end = "2017-01-02T06:07:08"
正常标签(如在libimagentrytag中)明确地不用于标记,因此用户可以将正常标签也用于这些条目。
tag字段是字符串类型,因为一个标签创建一个条目。这样,可以跟踪重叠的标签,如下所示
imag timetrack start foo
imag timetrack start bar
imag timetrack stop foo
imag timetrack start baz
imag timetrack stop bar
imag timetrack stop baz
end字段当然仅在事件已结束时设置。
库功能
该库使用libimagentrydatetime::datepath::DatePathBuilder构建StoreId对象。
该库提供两个核心特性
TimeTrackStore,它扩展了Store对象,以创建用于时间跟踪的特定设置的FileLockEntry对象,以及TimeTracking,它扩展了Entry,并提供了查询用于时间跟踪功能的条目元数据的辅助函数
该库不提供实现imag-timetrack等的功能,因为核心功能已经给出,命令行应用程序可以在几行代码中实现缺失的部分。
可能在未来某个时间点提供聚合功能。
依赖关系
~14MB
~306K SLoC