all repos — zenUtils @ main

misc utilities for computing zen

ztabelle.sh (raw)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#!/bin/sh

# make a timesheet from a month's data from the Zeit db
# Derek Stevens <nilix@nilfm.cc>
# MIT License

if [ -z $2 ]; then
  echo "usage:"
  echo "  $0 MONTH YEAR"
  echo "    Print report of tracked time for the given month to stdout"
  exit 1
fi

month=$1
year=$2

start=$(date -Is --date="0:00 ${month} 1 ${year}")

case ${month} in
  jan|Jan|january|January) nextMonth=feb;;
  feb|Feb|february|February) nextMonth=mar;;
  mar|Mar|march|March) nextMonth=apr;;
  apr|Apr|april|April) nextMonth=may;;
  may|May) nextMonth=jun;;
  jun|Jun|june|June) nextMonth=july;;
  jul|Jul|july|July) nextMonth=aug;;
  aug|Aug|august|August) nextMonth=sep;;
  sep|Sep|september|September) nextMonth=oct;;
  oct|Oct|october|October) nextMonth=nov;;
  nov|Nov|november|November) nextMonth=dec;;
  dec|Dec|december|December) nextMonth=jan; year=$((year + 1));;
esac

end=$(date -Is --date="0:00 ${nextMonth} 1 ${year}")


header1="=====TIMESHEET FOR $(echo ${start} | awk -F\- '{print $1"-"$2}')====="
header2="=====COMPLETE LOG====="

echo ${header1}
echo

zeit list --since ${start} --until ${end} --total --no-colors | tail -n2

for p in $(zeit list --since ${start} --until ${end} --only-projects-and-tasks --no-colors | grep ◆ | awk '{print $2}'); do
  echo "${p}:"
  echo "\t$(zeit list --since ${start} --until ${end} --project ${p} --total | tail -n2 | cut -f2- -d ' ')"
done

echo
echo
echo ${header2}
echo

for e in $(zeit list --since ${start} --until ${end} --no-colors | awk '{print $1}'); do
  zeit entry ${e} --no-colors | awk NF
  echo
done