From 1e05e7a3b2f2ad8e25f27282b463c94f7842401b Mon Sep 17 00:00:00 2001 From: Martin Wimpress Date: Tue, 7 May 2024 10:58:08 +0100 Subject: [PATCH] refactor(quickget): special case image processing shellcheck compliant --- quickget | 56 ++++++++++++++++++++++++++++++-------------------------- 1 file changed, 30 insertions(+), 26 deletions(-) diff --git a/quickget b/quickget index 451a834..610d32e 100755 --- a/quickget +++ b/quickget @@ -3366,34 +3366,38 @@ function create_vm() { #echo "${HASH}" web_get "${URL}" "${VM_PATH}" if [ -n "${HASH}" ]; then - check_hash "${ISO}" "${HASH}" + check_hash "${ISO}" "${HASH}" fi - if [ ${OS} == "freedos" ] && [[ ${ISO} =~ ".zip" ]]; then - unzip ${VM_PATH}/${ISO} -d ${VM_PATH} - ISO=$(ls ${VM_PATH} | grep -i '.iso') - fi - - if [[ ${OS} == "batocera" ]] && [[ ${ISO} =~ ".gz" ]]; then - gzip -d "${VM_PATH}/${ISO}" - ISO="${ISO/.gz/}" - fi - # Could be other OS iso files compressed with bzip2 or gzip - # but for now we'll keep this to know cases - if [[ ${OS} == "dragonflybsd" ]] && [[ ${ISO} =~ ".bz2" ]]; then - bzip2 -d "${VM_PATH}/${ISO}" - ISO="${ISO/.bz2/}" - fi - - if [[ ${OS} == "easyos" ]] && [[ ${ISO} =~ ".img" ]]; then - qemu-img convert -f raw -O qcow2 "${VM_PATH}/${ISO}" "${VM_PATH}/disk.qcow2" - ISO="${ISO/.img/}" - fi - - if [ ${OS} == "reactos" ] && [[ ${ISO} =~ ".zip" ]]; then - unzip ${VM_PATH}/${ISO} -d ${VM_PATH} - ISO=$(ls ${VM_PATH} | grep -i '.iso' | grep -v '.zip') - fi + case "${OS}" in + batocera) + if [[ ${ISO} = *".gz"* ]]; then + gzip -d "${VM_PATH}/${ISO}" + ISO="${ISO/.gz/}" + fi;; + dragonflybsd) + # Could be other OS iso files compressed with bzip2 or gzip + # but for now we'll keep this to know cases + if [[ ${ISO} = *".bz2"* ]]; then + bzip2 -d "${VM_PATH}/${ISO}" + ISO="${ISO/.bz2/}" + fi;; + easyos) + if [[ ${ISO} = *".img"* ]]; then + qemu-img convert -f raw -O qcow2 "${VM_PATH}/${ISO}" "${VM_PATH}/disk.qcow2" + ISO="${ISO/.img/}" + fi;; + freedos) + if [[ ${ISO} = *".zip"* ]]; then + unzip ${VM_PATH}/${ISO} -d ${VM_PATH} + ISO=$(ls ${VM_PATH} | grep -i '.iso') + fi;; + reactos) + if [[ ${ISO} = *".zip"* ]]; then + unzip ${VM_PATH}/${ISO} -d ${VM_PATH} + ISO=$(ls ${VM_PATH} | grep -i '.iso' | grep -v '.zip') + fi;; + esac make_vm_config "${ISO}" }