EmuDeck/cloudSyncHealth.sh
2023-10-25 13:02:29 +02:00

129 lines
3.6 KiB
Bash

#!/bin/bash
clear
source "$HOME/.config/EmuDeck/backend/functions/all.sh"
NONE='\033[00m'
RED='\033[01;31m'
GREEN='\033[01;32m'
YELLOW='\033[01;33m'
PURPLE='\033[01;35m'
CYAN='\033[01;36m'
WHITE='\033[01;37m'
BOLD='\033[1m'
UNDERLINE='\033[4m'
BLINK='\x1b[5m'
cloud_sync_upload_test(){
local emuName=$1
if [ ! -d $savesPath/$emuName ];then
return 2
fi
echo "test" > "$savesPath/$emuName/.temp"
filePath="$savesPath/$emuName/.temp"
"$cloud_sync_bin" -q copyto --fast-list --checkers=50 --transfers=50 --low-level-retries 1 --retries 1 "$filePath" "$cloud_sync_provider":Emudeck/saves/$emuName/.temp && rm -rf "$savesPath/$emuName/.temp" && return 0 || return 1
}
cloud_sync_dowload_test(){
local emuName=$1
if [ ! -d $savesPath/$emuName ];then
return 2
fi
echo "test" > "$savesPath/$emuName/.temp"
filePath="$savesPath/$emuName/.temp"
"$cloud_sync_bin" -q copyto --fast-list --checkers=50 --transfers=50 --low-level-retries 1 --retries 1 "$cloud_sync_provider":Emudeck/saves/$emuName/.temp "$filePath" && rm -rf "$savesPath/$emuName/.temp" && return 0 || return 1
}
echo -e "${CYAN}CloudSync Status Report${NONE}"
echo ""
miArray=("Cemu" "citra" "dolphin" "duckstation" "MAME" "melonds" "mgba" "pcsx2" "ppsspp" "primehack" "retroarch" "rpcs3" "scummvm" "Vita3K" "yuzu" "ryujinx" )
upload="true"
download="true"
launchers="true"
echo -e "${YELLOW}Checking launchers${NONE}"
for entry in "$toolsPath/launchers/"*.sh
do
if [ -f "$entry" ]; then
if grep -q "cloud_sync_startService" $entry; then
echo -e "$entry: ${GREEN}Success${NONE}"
else
echo -e "$entry: ${RED}Failure${NONE}"
launchers="false"
fi
fi
done
if grep -q "cloud_sync_startService" "$toolsPath/launchers/esde/emulationstationde.sh"; then
echo -e "$toolsPath/launchers/esde/emulationstationde.sh: ${GREEN}Success${NONE}"
else
echo -e "$toolsPath/launchers/esde/emulationstationde.sh: ${RED}Failure${NONE}"
fi
echo -e "${YELLOW}Checking for Windows old .lnk files${NONE}"
find "$savesPath" -type f -name "*.lnk" | while read -r entry
do
rm -rf $entry
echo "found and deleted: $entry"
done
found_files="false"
for entry in "$savesPath"/**/*.lnk
do
if [ -f "$entry" ]; then
rm -rf $entry
echo "found and deleted: $entry"
found_files="true"
fi
done
if [ "$found_files" = "false" ]; then
echo "No files with the '.lnk' extension found."
fi
echo -e ""
echo -e "${YELLOW}Testing uploading${NONE}"
# Recorrer el array y ejecutar la función cloud_sync_upload_test para cada elemento
for elemento in "${miArray[@]}"; do
echo -ne "Testing $elemento upload..."
if cloud_sync_upload_test $elemento;then
echo -e "${GREEN}Success${NONE}"
elif [ $? = 2 ]; then
echo -e "${YELLOW}Save folder not found${NONE}"
else
echo -e "${RED}Failure${NONE}"
upload="false"
fi
done
echo ""
echo -e "${YELLOW}Testing downloading${NONE}"
# Recorrer el array y ejecutar la función cloud_sync_upload_test para cada elemento
for elemento in "${miArray[@]}"; do
echo -ne "Testing $elemento download..."
if cloud_sync_dowload_test $elemento;then
echo -e "${GREEN}Success${NONE}"
elif [ $? = 2 ]; then
echo -e "${YELLOW}Save folder not found${NONE}"
else
echo -e "${RED}Failure${NONE}"
download="false"
fi
done
echo -e ""
echo -e "${CYAN}Recommendations${NONE}"
if [ $download = "true" ] && [ $upload = "true" ] && [ $launchers = "true" ]; then
echo -e "${YELLOW}Everything seems to be in proper order, at least on Linux${NONE}"
else
echo -e "${YELLOW}Open EmuDeck, go to Manage Emulators and reset SteamRomManager Configuration. Then test some games and if it keeps failing open Steam Rom Manager and parse all your games again to get the proper launchers${NONE}"
fi
sleep 100000