55 lines
2.0 KiB
Bash
Executable File
55 lines
2.0 KiB
Bash
Executable File
#!/bin/bash
|
|
USAGE="test_data.sh root-path data-path data-format total-entries out-format"
|
|
[ "$1" == "-h" ] && echo "$USAGE" && exit
|
|
[ -n "$1" ] && DATA_PATH=$1
|
|
if [ -z "$DATA_PATH" ] && [ -r "." ] ; then
|
|
DATA_PATH="."
|
|
DATA_TARGET="data.yaml"
|
|
DATA_FORMAT="yaml"
|
|
fi
|
|
[ ! -d "$DATA_PATH" ] && echo "Root path: $DATA_PATH not found" && DATA_PATH=""
|
|
[ -z "$DATA_PATH" ] && echo -n "Root path for data: " && read -r DATA_PATH && echo ""
|
|
[ -n "$2" ] && DATA_TARGET=$2
|
|
[ ! -r "$DATA_PATH/$DATA_TARGET" ] && echo "Target path: $DATA_TARGET not found in $DATA_PATH" && DATA_TARGET=""
|
|
[ -z "$DATA_TARGET" ] && echo -n "Path for target data: " && read -r DATA_TARGET && echo ""
|
|
[ -n "$3" ] && [ -z "$DATA_FORMAT" ] && DATA_FORMAT=$3
|
|
DATA_TARGET=$(echo "$DATA_TARGET" | cut -f1 -d".")
|
|
format=$(basename "$DATA_TARGET" | cut -f2 -d".")
|
|
if [ -z "$DATA_FORMAT" ] ;then
|
|
echo -ne "Path: $DATA_PATH\nformat (yaml,toml,json): $format [ENTER or change] "
|
|
read -r DATA_FORMAT && echo ""
|
|
fi
|
|
case "$DATA_FORMAT" in
|
|
yaml|YAML) DATA_FORMAT="yaml" ;;
|
|
toml|TOML) DATA_FORMAT="toml" ;;
|
|
json|JSON) DATA_FORMAT="json" ;;
|
|
*) DATA_FORMAT=$format
|
|
# echo "Format \"$DATA_FORMAT\" not defined" && exit 1
|
|
esac
|
|
[ -n "$4" ] && DATA_TOTAL=$4
|
|
if [ -z "$DATA_TOTAL" ] ; then
|
|
echo -ne "Expected NUMBER or items to be loaded from\npath: $DATA_PATH\nwith format $DATA_FORMAT [number]: "
|
|
read -r DATA_TOTAL
|
|
[[ ! $DATA_TOTAL =~ ^[[:digit:]]+$ ]] && echo "DATA_TOTAL not a number" && exit 1
|
|
fi
|
|
[ -n "$5" ] && DATA_OUT_FORMAT=$5
|
|
out_format=""
|
|
if [ -z "$DATA_OUT_FORMAT" ] ;then
|
|
echo -ne "Path: $DATA_LANG_PATH\nOUTPUT format (yaml,toml,json): $out_format [ENTER or change] "
|
|
read -r DATA_OUT_FORMAT && echo ""
|
|
fi
|
|
case "$DATA_OUT_FORMAT" in
|
|
yaml|YAML) DATA_OUT_FORMAT="yaml" ;;
|
|
toml|TOML) DATA_OUT_FORMAT="toml" ;;
|
|
json|JSON) DATA_OUT_FORMAT="json" ;;
|
|
-) DATA_OUT_FORMAT="" ;;
|
|
*) echo "Format \"$DATA_LANG_FORMAT\" "
|
|
#DATA_OUT_FORMAT=$out_format
|
|
esac
|
|
export DATA_PATH
|
|
export DATA_TARGET
|
|
export DATA_FORMAT
|
|
export DATA_TOTAL
|
|
export DATA_OUT_FORMAT
|
|
cargo test load_data -- --nocapture
|