Adding a way to sum times.
authorviric@mandarina
Mon, 16 Feb 2009 22:28:49 +0100
changeset 4 b46b71721cb4
parent 3 75385193714b
child 5 c95eed29f31b
Adding a way to sum times.
tt
--- 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