mirror of
https://github.com/Febbweiss/rclone_script.git
synced 2026-03-04 22:25:36 +00:00
Fixed issues reading XML and creating filters
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<emulators>
|
<emulators>
|
||||||
<emulator>
|
<emulator>
|
||||||
<name>ppsspp</name>
|
<name>lr-ppsspp</name>
|
||||||
<saveFilePath>/opt/retropie/configs/psp/PSP/SAVEDATA</saveFilePath>
|
<saveFilePath>/opt/retropie/configs/psp/PSP/SAVEDATA</saveFilePath>
|
||||||
<saveStatePath>/opt/retropie/configs/psp/PSP/PPSSPP_STATE</saveStatePath>
|
<saveStatePath>/opt/retropie/configs/psp/PSP/PPSSPP_STATE</saveStatePath>
|
||||||
<saveFileExtensions>
|
<saveFileExtensions>
|
||||||
|
|||||||
@@ -143,38 +143,54 @@ function prepareFilter ()
|
|||||||
}
|
}
|
||||||
|
|
||||||
# Builds a filter compatible with Find
|
# Builds a filter compatible with Find
|
||||||
function prepareLocalFilter ()
|
function prepareSaveFilters ()
|
||||||
{
|
{
|
||||||
# Create an array of save file extensions
|
log 3 "emu_settings: ${emu_settings}"
|
||||||
read -a exts <<< $(xmlstarlet sel -t -m "emulators/emulator[name='${emulator}']/saveFileExtensions" -v . "${emu_settings}")
|
|
||||||
|
|
||||||
# If any custom save file extensions are defined
|
# Read in any extensions
|
||||||
if [ ${#exts[@]} -gt 0 ]
|
extensions=$(xmlstarlet sel -t -m "emulators/emulator[name='${emulator}']/saveFileExtensions" -v "ext" "${emu_settings}")
|
||||||
|
|
||||||
|
# If no extensions were defined
|
||||||
|
if [ -z "${extensions// }" ]
|
||||||
then
|
then
|
||||||
# Build the filter for the extensions
|
|
||||||
log 3 "Custom save extentions defined for emulator: ${emulator}"
|
# Default to "<ROM_name>.*"
|
||||||
localFilter="\( -iname '*.${exts[0]}'"
|
|
||||||
for ext in ${exts[@]:1}; do
|
|
||||||
localFilter="${localFilter} -o -iname '*.${ext}'"
|
|
||||||
done
|
|
||||||
localFilter="${localFilter} \)"
|
|
||||||
else
|
|
||||||
# Otherwise, default to "<ROM_name>.*"
|
|
||||||
localFilter="${romfilebase//\[/\\[}"
|
localFilter="${romfilebase//\[/\\[}"
|
||||||
localFilter="${localFilter//\]/\\]}"
|
localFilter="${localFilter//\]/\\]}"
|
||||||
|
remoteFilter="${localFilter}"
|
||||||
|
|
||||||
|
else
|
||||||
|
|
||||||
|
# Otherwise, build custom filters
|
||||||
|
log 3 "Custom save extentions defined for emulator: ${emulator}"
|
||||||
|
i=0
|
||||||
|
|
||||||
|
# Build the filters for the extensions
|
||||||
|
while read ext; do
|
||||||
|
|
||||||
|
if [ "${i}" -eq "0" ]
|
||||||
|
then
|
||||||
|
|
||||||
|
remoteFilter="{*.${ext}"
|
||||||
|
localFilter="\( -iname '*.${ext}'"
|
||||||
|
((i++))
|
||||||
|
|
||||||
|
else
|
||||||
|
|
||||||
|
localFilter="${localFilter} -o -iname '*.${ext}'"
|
||||||
|
remoteFilter="${remoteFilter}, *.${ext}"
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
done <<< ${extensions}
|
||||||
|
|
||||||
|
localFilter="${localFilter} \)"
|
||||||
|
remoteFilter="${remoteFilter}}"
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
log 3 "Local save file filter: ${localFilter}"
|
log 3 "Local save file filter: ${localFilter}"
|
||||||
}
|
log 3 "Remote save file filter: ${remoteFilter}"
|
||||||
|
|
||||||
function prepareRemoteFilter ()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
function getSavePathForEmulator ()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function getTypeOfRemote ()
|
function getTypeOfRemote ()
|
||||||
@@ -388,7 +404,7 @@ log 3 "romfileext: ${romfileext}"
|
|||||||
if [ "${direction}" == "up" ] && [ "${system}" != "kodi" ]
|
if [ "${direction}" == "up" ] && [ "${system}" != "kodi" ]
|
||||||
then
|
then
|
||||||
getROMFileName
|
getROMFileName
|
||||||
prepareLocalFilter
|
prepareSaveFilters
|
||||||
prepareFilter
|
prepareFilter
|
||||||
getTypeOfRemote
|
getTypeOfRemote
|
||||||
uploadSaves
|
uploadSaves
|
||||||
@@ -397,6 +413,7 @@ fi
|
|||||||
if [ "${direction}" == "down" ] && [ "${system}" != "kodi" ]
|
if [ "${direction}" == "down" ] && [ "${system}" != "kodi" ]
|
||||||
then
|
then
|
||||||
getROMFileName
|
getROMFileName
|
||||||
|
prepareSaveFilters
|
||||||
prepareFilter
|
prepareFilter
|
||||||
getTypeOfRemote
|
getTypeOfRemote
|
||||||
downloadSaves
|
downloadSaves
|
||||||
|
|||||||
Reference in New Issue
Block a user