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 |