Verified Commit 656cf6ba authored by DevOps's avatar DevOps

New remote

parent af3d51c9
#!/usr/bin/env bash
set -ex
set -e
SCRIPTPATH="$(cd $(dirname ${0}); pwd -P)"
SERVER_ADDR="https://app.emcode-provision.app.docker.rew.to"
TOKEN="Rgg5gzEZuzLfF9hR"
SERVER_ADDR="http://emd.instraroam.net"
TOKEN="5b3sCn6uRkBY4f8uQ1UdcJ"
### path to store state of code
STATE_PATH="${HOME}/emcode-store"
### absolute path to store code (default: <STATE_PATH>)
CODE_PATH="${STATE_PATH}/code.js"
_query_args="token=${TOKEN}"
init_config() {
local write_config=false
......@@ -23,11 +21,38 @@ init_config() {
write_config=true
fi
while getopts "t:s:p:h?" opt; do
case $opt in
t)
TOKEN=${OPTARG}
;;
s)
STATE_PATH=${OPTARG}
;;
p)
CODE_PATH=${OPTARG}
;;
h|\?)
usage
exit 1
;;
esac
done
if [[ ${write_config} == true ]]; then
save_config
fi
}
usage() {
echo -n "$(realpath ${0}) [OPTIONS]
-t TOKEN Access token (default: ${TOKEN})
-s PATH Path to store state of code (default: ${STATE_PATH})
-p PATH Path to store code (default: ${CODE_PATH})
"
}
save_config() {
cat <<EOF >${SCRIPTPATH}/config.txt
STATE_PATH=${STATE_PATH}
......@@ -36,24 +61,8 @@ TOKEN=${TOKEN}
EOF
}
make_query_args() {
local version=$(cat ${STATE_PATH}/version.txt 2>/dev/null | tr -d '\n')
if [[ ! -z ${version} ]]; then
_query_args+="&ver=${version}"
fi
}
extract_version() {
local begin_comment="<!--"
local end_comment="-->"
if [[ ${CODE_TYPE} == "script" ]]; then
begin_comment="/\*"
end_comment="\*/"
fi
grep -oP "(?<=${begin_comment})[0-9a-f_-]+(?=${end_comment})" <<< ${1}
grep -oP "(?<=/\*)[0-9a-f_-]+(?=\*/)" <<< ${1}
}
make_home() {
......@@ -63,15 +72,15 @@ make_home() {
}
main() {
make_query_args
local code=$(curl -s -L ${SERVER_ADDR}?${_query_args})
local version=$(extract_version "${code}")
local code=$(curl -s -L "${SERVER_ADDR}/token/${TOKEN}")
local remote_ver=$(extract_version "${code}")
local local_ver=$(cat ${STATE_PATH}/version.txt 2>/dev/null | tr -d '\n')
if [[ ! -z ${version} ]]; then
if [[ ! -z ${remote_ver} ]] && [[ ${local_ver} != ${remote_ver} ]]; then
make_home
cat <<<${code} >${CODE_PATH}
echo -n ${version} >${STATE_PATH}/version.txt
echo '// HEADER' >${CODE_PATH}
echo -n ${code} >>${CODE_PATH}
echo -n ${remote_ver} >${STATE_PATH}/version.txt
fi
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment