1 unstable release
0.4.4 | Jul 24, 2023 |
---|
#1271 in Database interfaces
26KB
727 lines
timewarrior-rs
is a library providing access to the timewarrior time tracking utility.
It currently only provides access to the data parsed from the local database.
Example
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(())
}
Will show the work of today
Future work
The next steps include:
- Providing structs to easily show the output of the different timewarrior commands.
- Add database editing through start/stop/modify/...
lib.rs
:
timewarrior-rs
timewarrior-rs
allows reading data logged by the timew
utility. The current implementation
only allows retrieving the raw data in a Vec<TimeEntry>
: A list of TimeEntry
elements.
Future improvement will allow formatting the data to be processed and shown like the different
timew
utility commands.
Even future work will allow adding entries in the database. Usage example:
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}");
}
Dependencies
~4–12MB
~130K SLoC