You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

136 lines
2.8 KiB

#!/bin/bash
function func_parser_key() {
strs=$1
IFS=":"
array=(${strs})
tmp=${array[0]}
echo ${tmp}
}
function func_parser_value() {
strs=$1
IFS=":"
array=(${strs})
tmp=${array[1]}
echo ${tmp}
}
function func_parser_value_lite() {
strs=$1
IFS=$2
array=(${strs})
tmp=${array[1]}
echo ${tmp}
}
function func_set_params() {
key=$1
value=$2
if [ ${key}x = "null"x ];then
echo " "
elif [[ ${value} = "null" ]] || [[ ${value} = " " ]] || [ ${#value} -le 0 ];then
echo " "
else
echo "${key}=${value}"
fi
}
function func_parser_params() {
strs=$1
IFS=":"
array=(${strs})
key=${array[0]}
tmp=${array[1]}
IFS="|"
res=""
for _params in ${tmp[*]}; do
IFS="="
array=(${_params})
mode=${array[0]}
value=${array[1]}
if [[ ${mode} = ${MODE} ]]; then
IFS="|"
#echo $(func_set_params "${mode}" "${value}")
echo $value
break
fi
IFS="|"
done
echo ${res}
}
function status_check() {
local last_status=$1 # the exit code
local run_command=$2
local run_log=$3
local model_name=$4
if [ $last_status -eq 0 ]; then
echo -e "\033[33m Run successfully with command - ${model_name} - ${run_command}! \033[0m" | tee -a ${run_log}
else
echo -e "\033[33m Run failed with command - ${model_name} - ${run_command}! \033[0m" | tee -a ${run_log}
fi
}
function download_and_unzip_dataset() {
local ds_dir="$1"
local ds_name="$2"
local url="$3"
local clear="${4-True}"
local ds_path="${ds_dir}/${ds_name}"
local zip_name="${url##*/}"
if [ ${clear} = 'True' ]; then
rm -rf "${ds_path}"
fi
wget -O "${ds_dir}/${zip_name}" "${url}" --no-check-certificate
# The extracted file/directory must have the same name as the zip file.
cd "${ds_dir}" && unzip "${zip_name}"
if [ "${zip_name%.*}" != "${ds_name}" ]; then
mv "${zip_name%.*}" "${ds_name}"
fi
cd -
}
function parse_extra_args() {
local lines=("$@")
local last_idx=$((${#lines[@]}-1))
local IFS=';'
extra_args=(${lines[last_idx]})
}
function add_suffix() {
local ori_path="$1"
local suffix=$2
local ext="${ori_path##*.}"
echo "${ori_path%.*}${suffix}.${ext}"
}
function parse_first_value() {
local key_values=$1
local IFS=":"
local arr=(${key_values})
echo ${arr[1]}
}
function parse_second_value() {
local key_values=$1
local IFS=":"
local arr=(${key_values})
echo ${arr[2]}
}
function run_command() {
local cmd="$1"
local log_path="$2"
if [ -n "${log_path}" ]; then
eval ${cmd} | tee "${log_path}"
test ${PIPESTATUS[0]} -eq 0
else
eval ${cmd}
fi
}