Modified function file downloader

Modified from @jaredballou pull request.  Now uses curl as it better
handles errors.

Can now select different repo and branch if needed. This is very useful
for development.
This commit is contained in:
Daniel Gibbs 2015-12-12 13:20:51 +00:00
parent 39e963fb13
commit 08639c6510

View File

@ -3,7 +3,7 @@
# Server Management Script
# Author: Daniel Gibbs
# Website: http://gameservermanagers.com
version="091215"
version="121215"
#### Variables ####
@ -37,6 +37,13 @@ parms="-game tf -strictportbind -ip ${ip} -port ${port} +clientport ${clientport
#### Advanced Variables ####
# Github Branch Select
# Allows for the use of different function files
# from a different repo and/or branch.
githubuser="dgibbs64"
githubrepo="linuxgsm"
githubbranch="master"
# Steam
appid="232250"
@ -75,20 +82,46 @@ consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%d-%m-%Y-%H-%M-
##### Script #####
# Do not edit
fn_runfunction(){
# Functions are downloaded and run with this function
if [ ! -f "${rootdir}/functions/${functionfile}" ]; then
cd "${rootdir}"
if [ ! -d "functions" ]; then
mkdir functions
fn_getgithubfile(){
filename=$1
exec=$2
fileurl=${3:-$filename}
filepath="${rootdir}/${filename}"
filedir=$(dirname "${filepath}")
# If the function file is missing, then download
if [ ! -f "${filepath}" ]; then
if [ ! -d "${filedir}" ]; then
mkdir "${filedir}"
fi
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${fileurl}"
echo -e " fetching ${filename}...\c"
#wget -N /dev/null "${githuburl}" -O "${filepath}" 2>&1 | grep -F HTTP | cut -c45-
if [ "$(command -v curl)" ]||[ "$(which curl >/dev/null 2>&1)" ]||[ -f "/usr/bin/curl" ]||[ -f "/bin/curl" ]; then
echo -e "\e[0;31mFAIL\e[0m\n"
echo "Curl is not installed"
echo -e ""
exit
fi
CURL=$(curl --fail -o "${filepath}" "${githuburl}" 2>&1)
if [ $? -ne 0 ]; then
echo -e "\e[0;31mFAIL\e[0m\n"
echo " $CURL"|grep "curl:"
echo -e "${githuburl}\n"
exit
else
echo -e "\e[0;32mOK\e[0m"
fi
if [ "$exec" ]; then
chmod +x "${filepath}"
fi
cd functions
echo -e " loading ${functionfile}...\c"
wget -N /dev/null https://raw.githubusercontent.com/dgibbs64/linuxgsm/master/functions/${functionfile} 2>&1 | grep -F HTTP | cut -c45-
chmod +x "${functionfile}"
cd "${rootdir}"
fi
source "${rootdir}/functions/${functionfile}"
if [ "$exec" ]; then
source "${filepath}"
fi
}
fn_runfunction(){
fn_getgithubfile "functions/${functionfile}" 1
}
fn_functions(){