diff options
-rwxr-xr-x | timelog | 52 |
1 files changed, 33 insertions, 19 deletions
@@ -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 |