From b586e13a98e1a5b7ce791598626bd9b6ec883efc Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Sun, 11 Feb 2018 21:04:38 +0100 Subject: [PATCH] Add timewarrior import script --- bin/domain/imag-timetrack/etc/timew-import.sh | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 bin/domain/imag-timetrack/etc/timew-import.sh diff --git a/bin/domain/imag-timetrack/etc/timew-import.sh b/bin/domain/imag-timetrack/etc/timew-import.sh new file mode 100644 index 00000000..869e7fa5 --- /dev/null +++ b/bin/domain/imag-timetrack/etc/timew-import.sh @@ -0,0 +1,29 @@ +#!/usr/bin/env bash + +# timewarrior import script +# +# pipe `timew export` to this script for importing timew data into imag. +# +# Requirements for running this script: +# - imag +# - imag-timetrack +# - sed +# - jq +# + +# This might be hacky, but it works. + +fixtimeformat() { + sed -E 's/([0-9]{4})([0-9]{2})([0-9]{2})T([0-9]{2})([0-9]{2})([0-9]{2})Z/\1-\2-\3T\4:\5:\6/' +} + +tail -n +2 | head -n -2 | while read line; do +json=$(echo "$line" | sed 's/,$//') +start=$(echo "$json" | jq '.start' | fixtimeformat | sed 's/"//g' ) + end=$(echo "$json" | jq '.end' | fixtimeformat | sed 's/"//g' ) + tags=$(echo "$json" | jq '.tags' | grep "\"" | sed 's/,//; s/"//g') + + echo imag timetrack track "$start" "$end" $tags + imag timetrack track "$start" "$end" $tags +done +