|
|
- #!/bin/bash
- # Copyright 2010-2011, Asio Software Technologies
- # Distributed under the terms of the GNU General Public License v3
-
-
- #-------------------------------------------------------------------------------
- # Downloads files into specified or current directory
- # Parameters: %url% %directory%
- #-------------------------------------------------------------------------------
- function download() {
- local DEST FILENAME RESULT URL
- DEST="${2}"
- FILENAME="${1##*/}"
- URL="${1}"
- if isSet DEST; then
- DEST="${DEST}/${FILENAME}"
- else
- DEST="./${FILENAME}"
- fi
- logMessage "Downloading ${URL} to ${DEST}" "DEBUG"
- echo -ne " ${STAR_GREEN} ${FILENAME}: "
- wget --progress=dot -c -t ${FETCHTRIES} -T ${FETCHTIMEOUT} -O "${DEST}" \
- ${URL} 2>&1 | grep --line-buffered "%" | sed -u -e "s/[\.\,]//g" | \
- awk '{printf("\b\b\b\b%4s", $2)}'
- RESULT=${PIPESTATUS[0]}
- echo -ne "\b\b\b\b"
- if [ ${RESULT} -ne 0 ]; then
- logOutput "Unable to download ${URL}! Exit code: ${RESULT}"
- echo -e "${COLOR_RED}${COLOR_BOLD}ERROR${COLOR_WHITE}${COLOR_NORMAL}"
- else
- echo -e "${COLOR_GREEN}${COLOR_BOLD}DONE${COLOR_WHITE}${COLOR_NORMAL}"
- fi
- return ${RESULT}
- }
-
- #-------------------------------------------------------------------------------
- # Creates all components of the specified directories
- # Parameters: %directory%
- #-------------------------------------------------------------------------------
- function makeDirectory() {
- local OUTPUT RESULT
- OUTPUT=$(install -d "${@}" 2>&1)
- RESULT=${?}
- if [ ${RESULT} -ne 0 ]; then
- logOutput "${OUTPUT}"
- fi
- return ${RESULT}
- }
-
- #-------------------------------------------------------------------------------
- # Creates a symbolic link between to files in specified target directory
- # Parameters: %source% %target%
- #-------------------------------------------------------------------------------
- function makeLink() {
- local DESTDIR OUTPUT RESULT
- DESTDIR="${2%/*}"
- [[ ! -d ${DESTDIR} ]] && makeDirectory "${DESTDIR}"
- OUTPUT=$(ln -sfn "${1}" "${2}" 2>&1)
- RESULT=${?}
- if [ ${RESULT} -ne 0 ]; then
- logOutput "${OUTPUT}"
- fi
- return ${RESULT}
- }
|