From adb9e950f241a61de1db8119df1a121143bf8c25 Mon Sep 17 00:00:00 2001 From: Christopher Roy Bratusek Date: Sun, 7 Aug 2016 19:17:31 +0200 Subject: [PATCH] rewrite downloader function --- README.STATUS_CODES | 2 + scripts/common.sh | 99 ++++++++++++++++++++++++++++----------------- 2 files changed, 64 insertions(+), 37 deletions(-) diff --git a/README.STATUS_CODES b/README.STATUS_CODES index 8adcfac..8bd49d0 100644 --- a/README.STATUS_CODES +++ b/README.STATUS_CODES @@ -19,3 +19,5 @@ While the script executes you will see some status codes, below you will find th 3 riivolution archive found in ${PATCHIMAGE_RIIVOLUTION_DIR} 4 patchimage was told to download riivolution archive, but no link is available 5 patchimage is downloading riivolution archive + 6 patchimage was told to download riivolution archive, but manual download is required + [for websites like mediafire, mega that don't work (well) with wget] diff --git a/scripts/common.sh b/scripts/common.sh index 54aa2ce..31da3d6 100644 --- a/scripts/common.sh +++ b/scripts/common.sh @@ -378,6 +378,67 @@ unpack () { } +download_riivolution_patch () { + + x=4 + case ${DOWNLOAD_LINK} in + *docs.google* | *drive.google* ) + x=5 + echo "*** >> downloading" + ${GDOWN} "${DOWNLOAD_LINK}" \ + "${PATCHIMAGE_RIIVOLUTION_DIR}/${RIIVOLUTION_ZIP}"__tmp >/dev/null || exit 57 + mv "${PATCHIMAGE_RIIVOLUTION_DIR}/${RIIVOLUTION_ZIP}"__tmp \ + "${PATCHIMAGE_RIIVOLUTION_DIR}/${RIIVOLUTION_ZIP}" + echo "*** >> unpacking" + unpack "${PATCHIMAGE_RIIVOLUTION_DIR}/${RIIVOLUTION_ZIP}" + ;; + + *mega.nz* ) + x=6 + echo "can not download from Mega, download manually from: + + ${DOWNLOAD_LINK} +" + exit 21 + ;; + + *medafire* ) + x=6 + echo "can not download from Mediafire, download manually from: + + ${DOWNLOAD_LINK} +" + exit 21 + ;; + + *romhacking* ) + x=6 + echo "can not download from Romhacking, download manually from: + + ${DOWNLOAD_LINK} +" + + exit 21 + ;; + + "" ) + echo "no download link for ${GAMENAME} available." + exit 21 + ;; + + * ) + x=5 + echo "*** >> downloading" + wget -q --no-check-certificate "${DOWNLOAD_LINK}" \ + -O "${PATCHIMAGE_RIIVOLUTION_DIR}/${RIIVOLUTION_ZIP}"__tmp || exit 57 + mv "${PATCHIMAGE_RIIVOLUTION_DIR}/${RIIVOLUTION_ZIP}"__tmp \ + "${PATCHIMAGE_RIIVOLUTION_DIR}/${RIIVOLUTION_ZIP}" + echo "*** >> unpacking" + unpack "${PATCHIMAGE_RIIVOLUTION_DIR}/${RIIVOLUTION_ZIP}" + ;; + +} + check_riivolution_patch () { x=0 @@ -392,43 +453,7 @@ check_riivolution_patch () { x=3 unpack "${PATCHIMAGE_RIIVOLUTION_DIR}/${RIIVOLUTION_ZIP}" elif [[ ${PATCHIMAGE_RIIVOLUTION_DOWNLOAD} == "TRUE" ]]; then - x=4 - if [[ ${DOWNLOAD_LINK} == *docs.google* || ${DOWNLOAD_LINK} == *drive.google* ]]; then - if [[ ! -f "${PATCHIMAGE_RIIVOLUTION_DIR}/${RIIVOLUTION_ZIP}" ]]; then - x=5 - echo "*** >> downloading" - ${GDOWN} "${DOWNLOAD_LINK}" \ - "${PATCHIMAGE_RIIVOLUTION_DIR}/${RIIVOLUTION_ZIP}"__tmp >/dev/null || exit 57 - mv "${PATCHIMAGE_RIIVOLUTION_DIR}/${RIIVOLUTION_ZIP}"__tmp "${PATCHIMAGE_RIIVOLUTION_DIR}/${RIIVOLUTION_ZIP}" - echo "*** >> unpacking" - unpack "${PATCHIMAGE_RIIVOLUTION_DIR}/${RIIVOLUTION_ZIP}" - fi - elif [[ ${DOWNLOAD_LINK} == *mega.nz* ]]; then - echo "can not download from Mega, download manually from: - - ${DOWNLOAD_LINK} -" - exit 21 - elif [[ ${DOWNLOAD_LINK} == *mediafire* ]]; then - echo "can not download from Mediafire, download manually from: - - ${DOWNLOAD_LINK} -" - exit 21 - elif [[ ${DOWNLOAD_LINK} ]]; then - if [[ ! -f "${PATCHIMAGE_RIIVOLUTION_DIR}/${RIIVOLUTION_ZIP}" ]]; then - x=5 - echo "*** >> downloading" - wget -q --no-check-certificate "${DOWNLOAD_LINK}" \ - -O "${PATCHIMAGE_RIIVOLUTION_DIR}/${RIIVOLUTION_ZIP}"__tmp >/dev/null || exit 57 - mv "${PATCHIMAGE_RIIVOLUTION_DIR}/${RIIVOLUTION_ZIP}"__tmp "${PATCHIMAGE_RIIVOLUTION_DIR}/${RIIVOLUTION_ZIP}" - echo "*** >> unpacking" - unpack "${PATCHIMAGE_RIIVOLUTION_DIR}/${RIIVOLUTION_ZIP}" - fi - else - echo "no download link for ${GAMENAME} available." - exit 21 - fi + download_riivolution_patch else echo -e "please specify zip/rar to use with --riivolution=" exit 21