Adding a way to sum times.
--- a/tt Thu Feb 12 23:15:49 2009 +0100
+++ b/tt Mon Feb 16 22:28:49 2009 +0100
@@ -38,8 +38,9 @@
echo " Switch to a task : tt mytask"
echo " List task switches : tt -l"
echo " List time spent per task : tt -t"
+ echo " Sum times given with -t : tt -t | grep ... | tt -s"
echo " List what is tracked : tt"
- echo " $TT_PROJECT or ~/.tt stores the tracking."
+ echo " \$TT_PROJECT or ~/.tt stores the tracking."
}
function date2iso
@@ -85,16 +86,11 @@
fi
}
-function timebetween
+function sec2hms
{
- STARTSEC=`date2timestamp "$1"`
- ENDSEC=`date2timestamp "$2"`
-
- SECONDS=$((ENDSEC - STARTSEC))
-
MINUTES=0
HOURS=0
-
+ SECONDS=$1
if [ $SECONDS -gt 60 ]; then
MINUTES=$((SECONDS / 60))
SECONDS=$((SECONDS - MINUTES * 60))
@@ -108,6 +104,16 @@
printf "%02d:%02d:%02d\n" $HOURS $MINUTES $SECONDS
}
+function timebetween
+{
+ STARTSEC=`date2timestamp "$1"`
+ ENDSEC=`date2timestamp "$2"`
+
+ SECONDS=$((ENDSEC - STARTSEC))
+
+ echo `sec2hms $SECONDS`
+}
+
function status
{
if [ -f "$TT_PROJECT" ]; then
@@ -118,12 +124,24 @@
fi
}
+function sum
+{
+ VAL=`awk -F : -- '
+ BEGIN { val=0; }
+ { val += $1 * 60 * 60 + $2 * 60 + $3 }
+ END { print val }' `
+
+ echo `sec2hms $VAL`
+}
+
if [ $# -eq 0 ]; then
status || exit 1
elif [ "$1" == "-l" ]; then
list
elif [ "$1" == "-t" ]; then
listtime
+elif [ "$1" == "-s" ]; then
+ sum
elif [ "$1" == "-h" ]; then
usage
else