#timewarrior #timew #timelogging

timewarrior-rs

用于使用timew实用程序记录的数据的接口

1 个不稳定版本

0.4.4 2023年7月24日

#1238 in 数据库接口

GPL-2.0-or-later

26KB
727

timewarrior-rs是一个库,提供对timewarrior时间跟踪实用程序的访问。它目前仅提供访问从本地数据库解析的数据。

示例

use timewarrior_rs::formatter;

fn main() -> Result<(), String> {
    let range = Range::today().unwrap();

    println!("Loading TimeWarrior for {}... ", range);
    let work = formatter::raw(Some(range)).unwrap();

    for entry in work.entries() {
        println!("{entry}");
    }
    
    Ok(())
}

将显示今天的任务

未来工作

下一步包括

  • 提供结构体以轻松显示不同timewarrior命令的输出。
  • 通过启动/停止/修改/...添加数据库编辑

lib.rs:

timewarrior-rs

timewarrior-rs允许读取由timew实用程序记录的数据。当前的实现仅允许以Vec<TimeEntry>:一个TimeEntry元素列表的形式检索原始数据。

未来的改进将允许格式化要处理和显示的数据,使其类似于不同的timew实用程序命令。

甚至未来的工作将允许在数据库中添加条目。使用示例

 use timewarrior_rs::{ data, formatter };
 let range = data::Range::today().unwrap();
 let work = formatter::raw(Some(range)).unwrap();
 println!("{}", data::Range::pretty_duration(&work.duration()));
 for entry in work.entries() {
     println!("{entry}");
 }

依赖关系

~4–13MB
~134K SLoC