From 190fa025323849cab7f7823f5208f7fc0037c285 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Sun, 28 Feb 2016 13:10:33 +0000 Subject: [PATCH] code tidy --- functions/core_dl.sh | 83 ++++++++++++++++++++++++++++---------------- 1 file changed, 54 insertions(+), 29 deletions(-) diff --git a/functions/core_dl.sh b/functions/core_dl.sh index d6fc8cd04..31143eb34 100644 --- a/functions/core_dl.sh +++ b/functions/core_dl.sh @@ -6,10 +6,17 @@ lgsm_version="050216" # Description: Deals with all downloads for LGSM. -# Downloads can be defined in code like so -# fn_dl "dl_filename" "dl_filepath" "dl_url" "dl_md5" -# fn_dl "file.tar.bz2" "/home/gameserver" "http://example.com/file.tar/bz2" "10cd7353aa9d758a075c600a6dd193fd" - +# fileurl: The URL of the file: http://example.com/dl/File.tar.bz2 +# filedir: location the file is to be saved: /home/server/lgsm/tmp +# filename: name of file (this can be different from the url name): file.tar.bz2 +# executecmd: Optional, set to "executecmd" to make file executable using chmod +x +# run: Optional, set to run to execute the file +# force: Optional, force re-download of file even if exists +# md5: Optional, Checks file against an md5 sum +# +# Downloads can be defined in code like so: +# fn_fetch_file "${fileurl}" "${filedir}" "${filename}" "${executecmd}" "${run}" "${force}" "${md5}" +# fn_fetch_file "http://example.com/file.tar.bz2" "/some/dir" "file.tar.bz2" "executecmd" "run" "force" "10cd7353aa9d758a075c600a6dd193fd" fn_dl_md5(){ # Runs MD5 Check if available @@ -34,12 +41,17 @@ if [ -n "${md5}" ]; then fi } +# Extracts bzip2 or gzip files +# Extracts can be defined in code like so: +# fn_dl_extract "${filedir}" "${filename}" "${extractdir}" +# fn_dl_extract "/home/gameserver/lgsm/tmp" "file.tar.bz2" "/home/gamserver/serverfiles" fn_dl_extract(){ filedir=${1} filename=${2} extractdir=${3} # extracts archives echo -ne "extracting ${filename}..." +fn_scriptlog "extracting download" mime=$(file -b --mime-type "${filedir}/${filename}") if [ "${mime}" == "application/gzip" ]; then @@ -50,7 +62,8 @@ fi local exitcode=$? if [ ${exitcode} -ne 0 ]; then fn_printfaileolnl - echo "${tarcmd}" + fn_scriptlog "extracting download: FAIL" + echo "${tarcmd}" | tee -a "${scriptlog}" exit ${exitcode} else fn_printokeolnl @@ -60,14 +73,14 @@ fi # Trap to remove file download if canceled before completed fn_fetch_trap() { echo "" - fn_printinfomationnl "Cancelling download" + fn_printinfomationnl "cancelling download" + fn_scriptlog "canceling download" sleep 1 - fn_printinfomation "Removing ${filename}" - rm -f "${filedir}/${filename}" + fn_printinfomation "removing ${filename}" + fn_scriptlog "removing ${filename}" + rm -f "${filedir}/${filename}" | tee -a "${scriptlog}" } -# Downloads file using curl and run it if required -# fn_fetch_file "fileurl" "filedir" "filename" "executecmd" "run" "force" "md5" fn_fetch_file(){ fileurl=${1} filedir=${2} @@ -98,27 +111,32 @@ if [ ! -f "${filedir}/${filename}" ]; then # if larger file shows progress bar if [ ${filename##*.} == "bz2" ]; then echo -ne "downloading ${filename}..." + fn_scriptlog "downloading ${filename}" sleep 1 curlcmd=$(${curlcmd} --progress-bar --fail -o "${filedir}/${filename}" "${fileurl}") echo -ne "downloading ${filename}..." else echo -ne " fetching ${filename}...\c" + fn_scriptlog "fetching ${filename}" curlcmd=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${fileurl}" 2>&1) fi local exitcode=$? if [ ${exitcode} -ne 0 ]; then fn_printfaileolnl - echo "${curlcmd}" - echo -e "${fileurl}\n" + fn_scriptlog "downloading ${filename}: FAIL" + echo "${curlcmd}" | tee -a "${scriptlog}" + echo -e "${fileurl}\n" | tee -a "${scriptlog}" exit ${exitcode} else fn_printokeolnl + fn_scriptlog "downloading ${filename}: OK" fi # remove trap trap - INT else fn_printfaileolnl echo "Curl is not installed!" + fn_scriptlog "Curl is not installed!" echo -e "" exit 1 fi @@ -138,36 +156,43 @@ fi } -# fn_fetch_file_github -# Parameters: -# github_file_url_dir: The directory the file is located in teh GitHub repo -# github_file_url_name: name of file -# filepath: location file to be saved + +# fileurl: The directory the file is located in teh GitHub repo +# filedir: name of file +# filename: location file to be saved # executecmd: set to "executecmd" to make file executecmd # run: Optional, set to run to execute the file # force: force download of file even if exists +# md5: Checks fail against an md5 sum + + +# Fetches files from the github repo fn_fetch_file_github(){ -github_file_url_dir=${1} -github_file_url_name=${2} -filepath=${3} -filename="${github_file_url_name}" -executecmd=${4:-0} -run=${5:-0} -force=${6:-0} +github_file_url_dir="${1}" +github_file_url_name="${2}" githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" -fn_fetch_file "${githuburl}" "${filepath}" "${filename}" "${executecmd}" "${run}" "${force}" +fileurl="${githuburl}" +filedir="${3}" +filename="${github_file_url_name}" +executecmd="${4:-0}" +run="${5:-0}" +force="${6:-0}" +md5="${7:-0}" +fn_fetch_file "${fileurl}" "${filedir}" "${filename}" "${executecmd}" "${run}" "${force}" "${md5}" } - # Fetches functions fn_fetch_function(){ github_file_url_dir="functions" # github dir containing the file github_file_url_name="${functionfile}" # name of the github file githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" -filedir="${functionsdir}" # local dir that will contain the file -filename="${github_file_url_name}" # name of the local file +fileurl="${githuburl}" +filedir="${functionsdir}" +filename="${github_file_url_name}" executecmd="executecmd" run="run" -fn_fetch_file "${githuburl}" "${filedir}" "${filename}" "${executecmd}" "${run}" +force="noforce" +md5="" +fn_fetch_file "${fileurl}" "${filedir}" "${filename}" "${executecmd}" "${run}" "${force}" "${md5}" } \ No newline at end of file