]> gitweb.fluxo.info Git - timelog.git/commitdiff
Restructuring to support a main menu
authorSilvio Rhatto <rhatto@riseup.net>
Fri, 24 Oct 2014 15:26:44 +0000 (13:26 -0200)
committerSilvio Rhatto <rhatto@riseup.net>
Fri, 24 Oct 2014 15:26:44 +0000 (13:26 -0200)
timelog

diff --git a/timelog b/timelog
index 5cb9c5855b5772da30f233fddd55a79358e10d09..140cad29f41a3ff8c3bc5fb10f3c4a91d1822d4b 100755 (executable)
--- a/timelog
+++ b/timelog
@@ -15,23 +15,10 @@ CODEBASE="$HOME/code"
 GROUP="$1"
 ACTION="$2"
 BASENAME="`basename $0`"
+EDITOR=${EDITOR:=vi}
 
-if [ -z "$GROUP" ]; then
-  echo "Usage: $BASENAME <group> [edit]"
-  exit 1
-fi
-
-if [ -z "$EDITOR" ]; then
-  EDITOR="vi"
-fi
-
-if [ -d "$CODEBASE/$GROUP" ] && [ ! -d "$BASE/$GROUP" ]; then
-  BASE="$CODEBASE"
-fi
-
-mkdir -p $BASE/$GROUP/worklog
-
-if [ ! -e "$BASE/$GROUP/worklog/projects" ]; then
+# Setup a new worklog configuration
+function timelog_setup {
   cat > $BASE/$GROUP/worklog/projects <<EOF
 # Worklog project file
 # note that projects appear in Worklog in REVERSE order
@@ -44,8 +31,35 @@ EOF
   echo "First run, you should edit your project list..."
   $EDITOR $BASE/$GROUP/worklog/projects
   ( cd $BASE/$GROUP/worklog && worklog )
-elif [ "$ACTION" == "edit" ]; then
-  $EDITOR $BASE/$GROUP/worklog/projects
+}
+
+# Loop over available worklogs
+# TODO
+function timelog_menu {
+  echo "Usage: $BASENAME <group> [edit]"
+  exit 1
+}
+
+# Run
+function timelog_run {
+  if [ -d "$CODEBASE/$GROUP" ] && [ ! -d "$BASE/$GROUP" ]; then
+    BASE="$CODEBASE"
+  fi
+
+  mkdir -p $BASE/$GROUP/worklog
+
+  if [ ! -e "$BASE/$GROUP/worklog/projects" ]; then
+    timelog_setup
+  elif [ "$ACTION" == "edit" ]; then
+    $EDITOR $BASE/$GROUP/worklog/projects
+  else
+    ( cd $BASE/$GROUP/worklog && worklog )
+  fi
+}
+
+# Main
+if [ ! -z "$GROUP" ]; then
+  timelog_run
 else
-  ( cd $BASE/$GROUP/worklog && worklog )
+  timelog_menu
 fi