The following files exists in this folder. Click to view.
dbwebb-create1 lines ASCII Unix (LF) #!/bin/sh
#SCRIPT=$(readlink -f "$0")
#SCRIPTPATH=$(dirname "$SCRIPT")
#. "$SCRIPTPATH/.dbwebb.version"
. "bin/.dbwebb.version"
ECHO="printf"
TMPFILE="/tmp/dbwebb-create$$"
#
# Print usage of script
#
printUsage()
{
$ECHO "\nUtility dbwebb-create $VERSION by Mikael Roos, to create a personlized lab."
$ECHO "\n"
$ECHO "\nUsage: dbwebb-create [options] <lab>"
$ECHO "\n"
$ECHO "Options:"
$ECHO "\n"
$ECHO "\n -h Print this message and exit."
$ECHO "\n -v Print version and exit."
$ECHO "\n"
$ECHO "\Lab:"
$ECHO "\n"
$ECHO "\n lab1 Create laboration 1."
$ECHO "\n lab2 Create laboration 2."
$ECHO "\n lab3 Create laboration 3."
$ECHO "\n lab4 Create laboration 4."
$ECHO "\n lab5 Create laboration 5."
$ECHO "\n lab6 Create laboration 6."
$ECHO "\n"
$ECHO "\nExample:"
$ECHO "\n"
$ECHO "\n $ dbwebb-create lab1"
$ECHO "\n $ dbwebb-create lab5"
$ECHO "\n"
$ECHO "\n"
}
#
# Create a lab for course javascript1
#
createLabJavaScript1()
{
LAB="$1"
WHERE="$TARGET/me/$2/$LAB"
HERE="$TARGET/me/$2"
$ECHO "\nCreating $COURSE $LAB."
# Check if init was run?
if [ ! -d "$HERE" ]
then
echo "\nThe directory '$HERE' is missing.\nDid you run the command bin/dbwebb init?"
exit 1
fi
# Check if lab is already there
if [ -f "$WHERE/answer.js" ]
then
echo "\nYou already have a lab directory with lab-files.\n$WHERE\nUse it or remove its content if you want to create a new lab."
exit 1
fi
# Create the key
KEY="`${WGET}- \"$SERVICE/?$GET_KEY&lab=$LAB\"`"
# The lab description & the answers
$ECHO "\ninstruction.html"
$WGET "$WHERE/instruction.html" "$SERVICE/$GET_LAB&key=$KEY"
$ECHO "\nanswer.html"
$WGET "$WHERE/answer.html" "$SERVICE/$GET_ANSWER_HTML&key=$KEY"
$ECHO "\nanswer.js"
$WGET "$WHERE/answer.js" "$SERVICE/$GET_ANSWER_JS&key=$KEY"
$ECHO "\nExtras\n"
$WGET "$WHERE/extra.tar" "$SERVICE/$GET_ANSWER_EXTRA&key=$KEY"
tar -xvf "$WHERE/extra.tar" -C "$WHERE"
rm -f "$WHERE/extra.tar"
$ECHO "\nYou can find the lab and all files here:\n$WHERE"
}
#
# Create a lab for course python
#
createLabPython()
{
LAB="$1"
WHERE="$TARGET/me/$2/$LAB"
HERE="$TARGET/me/$2"
$ECHO "\nCreating $COURSE $LAB."
# Check if init was run?
if [ ! -d "$HERE" ]
then
echo "\nThe directory '$HERE' is missing.\nDid you run the command bin/dbwebb init?"
exit 1
fi
# Check if lab is already there
if [ -f "$WHERE/answer.py" ]
then
echo "\nYou already have a lab directory with lab-files.\n$WHERE\nUse it or remove its content if you want to create a new lab."
exit 1
fi
# Create the key
KEY="`${WGET}- \"$SERVICE/?$GET_KEY&lab=$LAB\"`"
# The lab description & the answers
$ECHO "\ninstruction.html"
$WGET "$WHERE/instruction.html" "$SERVICE/$GET_LAB&key=$KEY"
$ECHO "\nanswer.json"
$WGET "$WHERE/answer.json" "$SERVICE/$GET_ANSWER_JSON&key=$KEY"
$ECHO "\nanswer.py"
$WGET "$WHERE/answer.py" "$SERVICE/$GET_ANSWER_PY&key=$KEY"
chmod 755 "$WHERE/answer.py"
$ECHO "\nDbwebb.py"
$WGET "$WHERE/Dbwebb.py" "$SERVICE/$GET_ANSWER_PYDBWEBB&key=$KEY"
$ECHO "\nExtras\n"
$WGET "$WHERE/extra.tar" "$SERVICE/$GET_ANSWER_EXTRA&key=$KEY"
tar -xvf "$WHERE/extra.tar" -C "$WHERE"
rm -f "$WHERE/extra.tar"
$ECHO "\nYou can find the lab and all files here:\n$WHERE"
}
#
# Create a lab for course htmlphp
#
createLabHtmlphp()
{
LAB="$1"
WHERE="$TARGET/me/$2/$LAB"
HERE="$TARGET/me/$2"
$ECHO "\nCreating $COURSE $LAB."
# Check if init was run?
if [ ! -d "$HERE" ]
then
echo "\nThe directory '$HERE' is missing.\nDid you run the command bin/dbwebb init?"
exit 1
fi
# Check if lab is already there
if [ -f "$WHERE/answer.py" ]
then
echo "\nYou already have a lab directory with lab-files.\n$WHERE\nUse it or remove its content if you want to create a new lab."
exit 1
fi
# Create the key
KEY="`${WGET}- \"$SERVICE/?$GET_KEY&lab=$LAB\"`"
# The lab description & the answers
$ECHO "\ninstruction.html"
$WGET "$WHERE/instruction.html" "$SERVICE/$GET_LAB&key=$KEY"
$ECHO "\nanswer.json"
$WGET "$WHERE/answer.json" "$SERVICE/$GET_ANSWER_JSON&key=$KEY"
$ECHO "\nanswer.py"
$WGET "$WHERE/answer.py" "$SERVICE/$GET_ANSWER_PY&key=$KEY"
chmod 755 "$WHERE/answer.py"
$ECHO "\nDbwebb.py"
$WGET "$WHERE/Dbwebb.py" "$SERVICE/$GET_ANSWER_PYDBWEBB&key=$KEY"
$ECHO "\nExtras\n"
$WGET "$WHERE/extra.tar" "$SERVICE/$GET_ANSWER_EXTRA&key=$KEY"
tar -xvf "$WHERE/extra.tar" -C "$WHERE"
rm -f "$WHERE/extra.tar"
$ECHO "\nYou can find the lab and all files here:\n$WHERE"
}
#
# Main
#
if [ $# -lt 1 ]
then
printUsage
fi
# Get settings from config-file
. "./.dbwebb.config"
# Get options
while getopts ":hv" opt
do
case $opt in
(h)
printUsage
exit 0
;;
(v)
$ECHO "$VERSION\n"
exit 0
;;
\?)
$ECHO "\nInvalid option: -$OPTARG" >&2
$ECHO "\n"
$ECHO "\nUse the following to get help."
$ECHO "\ndbwebb-create -h"
$ECHO "\n"
$ECHO "\n"
exit 1
;;
esac
done
shift $((OPTIND - 1))
#
# Execute command
#
CMD=$1
if [ $COURSE = "javascript1" ]
then
case $CMD in
lab1) createLabJavaScript1 "lab1" "kmom02" ;;
lab2) createLabJavaScript1 "lab2" "kmom03" ;;
lab3) createLabJavaScript1 "lab3" "kmom04" ;;
lab4) createLabJavaScript1 "lab4" "kmom04" ;;
lab5) createLabJavaScript1 "lab5" "kmom05" ;;
labtest) createLabJavaScript1 "labtest" "kmom01" ;;
*)
printUsage
exit 1
;;
esac
elif [ $COURSE = "python" ]
then
case $CMD in
lab1) createLabPython "lab1" "kmom02" ;;
lab2) createLabPython "lab2" "kmom03" ;;
lab3) createLabPython "lab3" "kmom04" ;;
lab4) createLabPython "lab4" "kmom05" ;;
lab5) createLabPython "lab5" "kmom06" ;;
lab6) createLabPython "lab6" "kmom06" ;;
labtest) createLabPython "labtest" "kmom01" ;;
*)
printUsage
exit 1
;;
esac
elif [ $COURSE = "htmlphp" ]
then
case $CMD in
lab1) createLabHtmlphp "lab1" "kmom02" ;;
lab2) createLabHtmlphp "lab2" "kmom03" ;;
lab3) createLabHtmlphp "lab3" "kmom04" ;;
lab4) createLabHtmlphp "lab4" "kmom05" ;;
lab5) createLabHtmlphp "lab5" "kmom06" ;;
labtest) createLabHtmlphp "labtest" "kmom01" ;;
*)
printUsage
exit 1
;;
esac
fi
rm -f $TMPFILE
$ECHO "\n"
exit 0