55 lines
1.4 KiB
Bash
55 lines
1.4 KiB
Bash
|
#!/bin/sh
|
||
|
|
||
|
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
|