kook/bin/kotam

113 lines
1.7 KiB
Text
Raw Normal View History

2013-06-04 13:46:44 +00:00
#!/bin/sh
set -u
KOTAM_DATA_DIR=$(dirname `readlink -f "$0"`)
KOTAM_DATA_DIR=$(cd "$KOTAM_DATA_DIR/../lib" ; pwd -P)
#echo $KOTAM_DATA_DIR
2013-06-04 13:46:44 +00:00
2013-06-04 14:08:18 +00:00
KOTAM_CONFIG_DIR=$HOME/.config/kotam
2013-06-04 13:46:44 +00:00
2013-06-04 14:08:18 +00:00
. $KOTAM_DATA_DIR/base.sh
2013-06-04 13:46:44 +00:00
kotam_usage() {
echo "Usage : `basename "$0"` [options]"
}
kotam_fail(){
printf "ERROR: $*\n\n" >&2
kotam_usage
exit 1
}
kotam_project_list() {
2013-12-27 11:42:57 +00:00
local tmppwd=$(pwd)
echo "List of projects :"
2013-12-27 11:42:57 +00:00
cd $KOTAM_CONFIG_DIR
find -maxdepth 1 -mindepth 1 -name '*.kotam' |sed -e 's|./| |' -e 's/.kotam$//'
cd $tmppwd
}
2013-12-27 11:42:57 +00:00
kotam_project_ensure() {
if [ ! -e "$KOTAM_CONFIG_DIR/$PROJECT.kotam" ]; then
kotam_fail "unknown project $PROJECT" >&2
fi
2013-12-27 11:42:57 +00:00
}
kotam_project_edit() {
kotam_project_ensure
"$EDITOR" "$KOTAM_CONFIG_DIR/$PROJECT.kotam"
}
kotam_project_run(){
2013-12-27 11:42:57 +00:00
kotam_project_ensure
. "$KOTAM_CONFIG_DIR/$PROJECT.kotam"
}
ACTION=""
PROJECT=""
2013-06-04 13:46:44 +00:00
2013-06-04 14:08:18 +00:00
mkdir -p $KOTAM_CONFIG_DIR
2013-06-04 13:46:44 +00:00
while [ $# -gt 0 ]; do
arg=${1:-}
opt=${2:-}
case $arg in
-l|--list)
ACTION="list"
2013-06-04 13:46:44 +00:00
;;
-e) # edit project
shift
if [ -z "$opt" ]; then
kotam_fail "project name missing"
2013-06-04 13:46:44 +00:00
fi
ACTION="edit"
PROJECT="$opt"
2013-06-04 13:46:44 +00:00
;;
-c) # create
shift
if [ -z "$opt" ]; then
kotam_fail "project name missing"
fi
ACTION="create"
PROJECT="$opt"
2013-06-04 13:46:44 +00:00
;;
-d) # delete
shift
if [ -z "$opt" ]; then
kotam_fail "project name missing"
fi
ACTION="delete"
PROJECT="$opt"
2013-06-04 13:46:44 +00:00
;;
*) #enter into project
ACTION="run"
2013-12-27 11:42:57 +00:00
PROJECT="$arg"
2013-06-04 13:46:44 +00:00
;;
esac
shift
done
case "$ACTION" in
list)
kotam_project_list
;;
create)
2013-12-27 11:42:57 +00:00
kotam_project_create
;;
edit)
2013-12-27 11:42:57 +00:00
kotam_project_edit
;;
delete)
kotam_project_delete
;;
2013-12-27 11:42:57 +00:00
run)
kotam_project_run
;;
*)
kotam_fail "undefined action $ACTION"
;;
esac